26.09.2007 14:03:24При дешифровании ошибка 0x80093104 Ответов: 1
Иван
Использовал csptest.exe для шифрования файлов "с помощью сертификата". Проблема возникла при расшифровании файлов размером более ~100 МБ. Т.е. шифрует без ошибок и 100 и 200 МБ, а вот при расшифровке ошибка:

// MessageId: CRYPT_E_ASN1_LARGE
// MessageText:
// ASN1 value too large.
#define CRYPT_E_ASN1_LARGE _HRESULT_TYPEDEF_(0x80093104L)

Подскажите, пожалуйста, как правильно осуществлять эти операции (на базе сертификатов) с файлами любой длинны?

PS В примере использовал сертификаты MS Base CSP, т.к. не было под рукой рабочих CryptoPro
 
Ответы:
26.09.2007 15:02:13Kirill Sobolev
Правильно осуществлять их с помощью функций CryptoAPI, которые умеют работать с потоковыми чтением и записью данных - CryptMsg*.