2016-06-21 4 views
1

OpenSSLを使用して作成され、OpenSSL i2d_X509()関数を使用してDER BLOBにエクスポートされたX509証明書があります。DERでエンコードされたX509証明書バッファをWindowsに変換するCERT_CONTEXT構造体

DER証明書ブロブをWindows CERT_CONTEXT構造に変換する方法はありますか?

一時ファイル、CertOpenStore(CERT_STORE_PROV_FILENAME)、およびCertEnumCertificatesInStore()関数を使用してこれを行うことができます。しかし、一時的なファイルを使用しないとどんな方法も見つけられませんでした。

答えて

1

それは、を使用して行うことができます:: CertCreateCertificateContext機能:

std::vector<BYTE> certificate; 
// ... acquire DER encoded certificate using i2d_X509() 
// ... 
PCCERT_CONTEXT context = ::CertCreateCertificateContext(
    X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, 
    certificate.data(), 
    certificate.size()); 
// ... 
// ... 
::CertFreeCertificateContext(context); 
関連する問題