如何从pfx获取asn格式的私钥?我需要使用asn格式的私钥将Qt的变量QSslKey连接到https服务器。
我必须使用Win32 Api来完成它,我不能使用OpenSSL来转换它。
首先我尝试直接获取私钥:
1.CertOpenSystemStore(NULL, _T("MY"))
2.CryptAcquireCertificatePrivateKey(...)
3.CryptGetUserKey(...)
4.CryptExportKey(...)
但是我得到的私钥,我不知道如何使用它。
答案 0 :(得分:1)
警告:这不是您问题的确切答案,但我希望它可以帮助您实现想要的目标
根据我的经验,Windows加密API旨在使用证书存储中的私钥而不是将密钥导出到外部,除非您使用CryptoAPI标准函数,如PFXExportCertStoreEx()。
CryptExportKey函数在密钥blob结构中提供私钥/公钥对,您必须将其转换为所需的格式。我见过的最接近的事情是
适用于Windows的Openssl引擎,文件名:e_capi.c
参考功能
**capi_load_privkey() and subfunction capi_get_pkey()**
这里完成了密钥blob到OpenSSL兼容结构的转换。 希望这有帮助