3

PKCS#12Windows で、形式で保存された証明書から公開および秘密 RSA キーをエクスポートする必要があります。

で証明書ストアを開きCertOpenStore()、で証明書を見つけ、でCertFindCertificateInStore()秘密鍵を取得できますCryptAcquireCertificatePrivateKey()

それはうまくいきます。次に、CryptGetUserKey()それも機能します。

しかしCryptExportKey()、ブロブ型でPRIVATEKEYBLOBは失敗します。 CryptSetKeyParam()withKP_PERMISSIONSおよび set パーミッションCRYPT_EXPORTも失敗します。

このような場合、すべての RSA キー ペア パラメータを取得するにはどうすればよいですか?

すべての例ではCryptGenKey()キーを作成してからエクスポートしますが、既存のキー ペアを単純なバイナリ形式にエクスポートする必要があります。

4

1 に答える 1

1

見つかった解決策: ストア プロバイダーで一般的なものではなく、より具体的PFXImportCertStore()な PKCS#12 ファイルを開く場合、フラグを受け入れ、キーを でエクスポートできます。CertOpenStore()CERT_STORE_PROV_PKCS12CRYPT_EXPORTABLECryptExportKey()

于 2012-11-18T09:09:12.860 に答える