我正在嘗試在C++中使用WinCrypt API。CryptoAPI/WinCrypt:如何用C++導入PEM文件中的私鑰?
我的應用程序需要加密,解碼,簽名和驗證文件,我知道如何做到這一點,只要我有正確的密鑰。但我的問題實際上是那不是生成這些密鑰的相同應用程序。
我有什麼是公共和私有密鑰中的文件以PEM格式:
和:
-----BEGIN RSA PUBLIC KEY-----
[Base64 encoded]
-----END RSA PUBLIC KEY-----
經過一番研究,我發現如何導入公共密鑰:here和使用以下方法:
- 的CreateFile & ReadFile的讀取該文件內容
- CryptStringToBinary,與CRYPT_STRING_BASE64HEADER從PEM格式轉換爲DER格式(刪除從BASE64頁眉和頁腳和解碼)
- CryptDecodeObjectEx與X509_PUBLIC_KEY_INFO
- CryptImportPublicKeyInfo,導入密鑰
但現在,我的問題是這樣做的蒙山私鑰同樣的事情。 任何幫助將真的非常感謝:) 謝謝。
Crypto API是用於專有加密,使用它的PGP只是更爲有用 – marinara
是的,當然。但事實是我沒有選擇密鑰的格式:否則我會選擇CryptoAPI的專有格式。但是由於公鑰導入可能來自PEM格式,所以我認爲私鑰也是可能的。 – nikloskoda