Tho*_*ann 8 openssl rsa cryptoapi aquaticprime
我正在尝试将Mac 的AquaticPrime框架移植到Windows.
在Mac上,它使用的是opensll库,我试着理解如何将它移植到Windows,我想在那里我必须使用CryptoAPI.
我主要需要使用给定公钥验证生成的签名的代码.
以下是使用openssl进行验证的方法:
那么,我如何使用CryptoAPI执行此操作?我到目前为止:
此时,我打电话给:
CryptVerifySignature (hashHdl, sig, sigLen, keyHdl, 0, 0)
Run Code Online (Sandbox Code Playgroud)
此操作失败,错误代码为ERROR_INVALID_PARAMETER.
奇怪的是,当我第一次意外地将两倍大的公钥存储到PUBLICKEYBLOB结构中时,我收到了一个NTE_BAD_SIGNATURE错误.这可能表明我现在传递的公钥是正确的.
为什么现在出现ERROR_INVALID_PARAMETER错误?我已经验证了哈希值是正确的,并且密钥似乎也被接受了.并且"sig"参数只是指向签名的128个字节的指针,而sigLen是128.
那么,我在这里错过了什么?
| 归档时间: |
|
| 查看次数: |
3837 次 |
| 最近记录: |