小编nik*_*oda的帖子

如何使用WinCrypt和C++导入PEM格式的私钥?

我正在尝试在C++中使用WinCrypt API.

我的应用程序需要密码,解密,签名和验证文件,一旦我有正确的密钥,我知道如何做到这一点.但我的问题实际上是,这与生成这些密钥的应用程序不同.

我所拥有的是PEM格式的文​​件中的公钥和私钥:

-----BEGIN RSA PRIVATE KEY-----
[Base64 encoded]
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

而且:

-----BEGIN RSA PUBLIC KEY-----
[Base64 encoded]
-----END RSA PUBLIC KEY-----
Run Code Online (Sandbox Code Playgroud)

经过一些研究,我发现如何导入公钥:这里这里,使用以下方法:

  • CreateFile&ReadFile读取文件内容
  • CryptStringToBinary,使用CRYPT_STRING_BASE64HEADER将PEM格式转换为DER格式(从base64删除页眉和页脚并解码)
  • CryptDecodeObjectEx with X509_PUBLIC_KEY_INFO
  • CryptImportPublicKeyInfo,用于导入密钥

但现在,我的问题是用私钥做同样的事情.任何帮助真的很感激:)谢谢.

c++ windows cryptography cryptoapi pem

4
推荐指数
1
解决办法
8185
查看次数

标签 统计

c++ ×1

cryptoapi ×1

cryptography ×1

pem ×1

windows ×1