使用CryptVerifySignature的CSP内存不足

时间:2009-08-27 17:32:24

标签: windows cryptography openssl pem

我遇到CryptVerifySignature返回NTE_NO_MEMORY的问题(CSP在操作期间内存不足。)

我正在尝试验证使用OpenSSL生成的签名,我已经解码了PEM公钥,反转了字节序列并导入了它。

我已尝试明确指定MS Enhanced Provider,我的密钥长度为4096位(最大<16384位)。

我在论坛上看到一些建议内存对齐问题的评论,但我使用的是英特尔奔腾双核,并且我的缓冲区是32位对齐的。

之前有人看过这个问题吗?

1 个答案:

答案 0 :(得分:0)

很高兴知道问题是通过唱RSA_private_encrypt来解决的。 我的情况与你相反。我使用CryptSignHash签名并使用RSA_verify验证它。

我注意到CryptSignHash和RSA_sign为相同数据生成的签名字节顺序正好相反。看看这个link

请尝试反转字节,看看它是否适合您。

我已经使用CryptSignHash成功完成了签名并使用RSA_verify进行了验证,并且它完全正常工作。