CSP не хватает памяти с CryptVerifySignature - PullRequest
2 голосов
/ 27 августа 2009

У меня проблема с CryptVerifySignature, возвращающим NTE_NO_MEMORY (CSP не хватило памяти во время операции.)

Я пытаюсь проверить подпись, сгенерированную с помощью OpenSSL, я уже декодировал открытый ключ PEM, отменил последовательность байтов и импортировал ее.

Я попытался подробно описать Enhanced Provider, и моя длина ключа составляет 4096 бит (макс. <16384 бит). </p>

Я видел некоторые комментарии на форумах, предлагающие проблемы с выравниванием памяти, но я использую двухъядерный процессор Intel Pentium, и мои буферы выровнены на 32 бита.

Кто-нибудь видел эту проблему раньше?

1 Ответ

0 голосов
/ 13 апреля 2013

Приятно осознавать, что проблема решена с помощью sing RSA_private_encrypt. Мой случай обратный от вас. Я подписался с помощью CryptSignHash и проверил его с помощью RSA_verify.

Я заметил, что порядок байтов подписи, сгенерированной CryptSignHash и RSA_sign для одних и тех же данных, абсолютно обратный. Проверьте эту ссылку .

Пожалуйста, попробуйте перевернуть байты и посмотреть, работает ли он для вас.

Я успешно выполнил подпись с помощью CryptSignHash и проверил с помощью RSA_verify, и она отлично работает.

...