| ||||
| ||||
Есть код: if(CryptVerifyMessageSignature(&VerifyParams, 0, Sign, Size, NULL, &(DecodedSize), NULL)){ DecodedMessage = (BYTE*)malloc(Size); if(!CryptVerifyMessageSignature(&VerifyParams, 0, Sign, Size, DecodedMessage, &(DecodedSize), NULL)){ int ret = GetLastError(); } } Первый вызов функции успешно возвращает DecodedSize, но второй возвращает ошибку CRYPT_E_NOT_FOUND, обнуляет DecodedSize и ничего не пишет в буффер. Между двумя вызовами изменений данных не происходит. CryptoPro 3 | ||||
Ответы: | ||||
| ||||
DecodedMessage = (BYTE*)malloc(Size); - опечатка? Сертификат подписчика есть в самом сообщении? | ||||
| ||||
Да, опечатка. Подписывается без вложенного сертификата. | ||||
| ||||
Спасибо, проблема решена | ||||