2017-02-14 28 views
1

私はBouncy Castle C#を使用してアプリケーションを開発しています。現在、X509Storeクラスを使用して証明書リストを取得し、.NET APIによってRSACryptoServiceProviderクラスを介して秘密鍵を取得できます。Bouncy Castle C#は.NET暗号化で動作します

RSACryptoServiceProvider秘密鍵をエクスポートして、暗号化/復号化のためにICipherParameterなどのBCオブジェクトに変換したいとします。ただし、エクスポートできないとマークされた証明書以降、エクスポート操作は許可されません。

  1. Bouncy Castle APIを使用して、証明書リストを取得し、非エクスポート属性の秘密鍵を使用する代替ソリューションはありますか?
+0

エクスポートできない設定を無視するだけではあまり役に立ちません。非公開鍵をエクスポートする場合は、非公開鍵を非エクスポート可能としてマークしないでください。 –

+0

@JamesKPolk私は、「BouncyCastleはCAPI PCERT_CONTEXTの機能を果たすことができますか?それとも、CAPIまたはCNGという名前のキーを使用できますか? (私は答えは分かりません) – bartonjs

+0

@bartonjs質問を更新しました – anguspcw

答えて

3

いいえ。Bouncy Castleは、特にC#に関しては、ソフトウェアのみの実装です。少なくともコア暗号機能については、ハードウェア上で操作を実行するためのプラグイン構造は含まれていません。

さらに、オープンソースなので、コードを変更する必要があります。それ以降の唯一の問題は、変更されたコードを最新の状態に保つことです。

+0

ところで、この回答は95%です。誰かが100%確実な回答を投稿したら、私は喜んでそれをアップヴォートするでしょう。あるいは、100%の確実性のために、Bouncyメーリングリストを試してみてください。 –

+0

RSACryptoServiceProvider/RSAParametersなどの.NETで保護されたクラスから取得した秘密鍵を使用するようにキャッスルをサポートできますか? – anguspcw

+0

いいえ、ソフトウェアの暗号化を機能させるには、キーがアクセシブルメモリに存在する必要があります。 –

関連する問題