ololo написал:
А почему бы все это дело вместе не хранить в CMS? Вложить сами данные, квитанцию и всё
Кстати насчет CMS
Поймите правильно, просто пытаюсь разобраться в вопросе..
Вот набросал простенький пример:
public class FakeCMS
{
byte[] data;
Stack<X509Certificate> listcerts;
public byte[] ExtractData()
{
return data;
}
public Stack GetCertificates()
{
return listcerts;
}
public byte[] ToDer ()
{
return EncodeToDERformat(this);
}
public static FakeCMS Sign(byte[] rawcert, byte[] data, bool isattached)
{
return new FakeCMS(rawcert,data,isattached);
}
private FakeCMS(byte[] rawcert, byte[] data, bool isattached)
{
listcerts.Add(X509Certificate.FromDER(new BIO(rawcert)));
if (isattached)
this.data = data;
}
}
Чем экземпляр CMS_ContentInfo в SDK отличается по функционалу от вышеприведенного примера)
Не могу понять как в случае создания СMS соблюсти 5й пункт Правил: имеется ввиду: Каким образом нужно расшифровывать ХЭШ сообщения) если ни оригинала, ни тем более зашифрованного хэша в CMS я не вижу. Если в случае RSA можно было достать CryptoKey и зашифровать им ХЭШ, то как с GOSTом быть - я хз.
И второй вопрос по метке времени - как мне вложить одновременно метку и само сообщения в CMS без создания дополнительных контейнеров, объединяющих массивы байтов метки и CMS контейнера?