0

CryptImportKey 関数を使用して PFX を Gemalto .NET IDPrime スマート カートにインポートしようとしていますが、「指定された型が無効です」(2148073482) エラーが発生します。RSACryptoServiceProvider.ExportCspBlob(true) 呼び出しが間違った形式でキーを返していると思われます。http://www.idrix.fr/Root/Samples/PfxImporter.csのサンプル コードを使用しています。注: Microsoft Base Smart Card Crypto Provider の AllowPrivateExchangeKeyImport と AllowPrivateSignatureKeyImport を 0x1 に設定しましたが、変更はありません。Windows Server 2012 を実行していますが、それが問題だとは思いません。

このコード サンプルの何が問題なのか教えてください。

4

1 に答える 1

1

あなたの問題は、アプリケーションが 64 ビット Windows で実行されている 32 ビットであり、 Wow6432Nodeの下にある Microsoft Base CSP 32 ビット レジストリ キーを変更しなかったという事実によって確実に発生します。

この問題を解決するには、"HKLM\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Microsoft Base Smart Card Crypto Provider" の下にある AllowPrivateExchangeKeyImport と AllowPrivateSignatureKeyImport も変更します。

このコメントを含めるために、 PfxImporter.csヘッダーのコメントを更新しました。

于 2015-08-19T10:04:33.393 に答える