我正在尝试在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:
> CreateFile& ReadFile读取文件内容
> CryptStringToBinary,使用CRYPT_STRING_BASE64HEADER将PEM格式转换为DER格式(从base64中删除页眉和页脚以及解码)
> CryptDecodeObjectEx with X509_PUBLIC_KEY_INFO
> CryptImportPublicKeyInfo,用于导入密钥
但现在,我的问题是用私钥做同样的事情.
任何帮助真的很感激:)
谢谢.