我想用C ++中的WinCrypt API。
我的应用程序需要到加密,解密,签名和验证的文件,我知道该怎么做,一旦我有正确的钥匙。但我的问题其实是,这不是产生这些密钥相同的应用程序。
我所拥有的是在PEM格式文件的公钥和私钥:
-----BEGIN RSA PRIVATE KEY-----
[Base64 encoded]
-----END RSA PRIVATE KEY-----
和:
-----BEGIN RSA PUBLIC KEY-----
[Base64 encoded]
-----END RSA PUBLIC KEY-----
经过一番研究,我发现如何导入公共密钥:here和here,使用以下方法:
但现在,我的问题是做同样的事情,用私钥。任何帮助将是非常非常感谢:)谢谢。
PEM的私钥可以通过使用PKCS_RSA_PRIVATE_KEY CryptDecodeObjectEx,然后调用CryptImportKey导入CAPI。
我写了一个示例,演示了如何使用编码的RSA私钥使用CAPI签名数据的PEM。下面是它的链接:http://www.idrix.fr/Root/Samples/capi_pem.cpp
我希望这将有所帮助。