2009-04-08 13 views
2

Windowsサービスとasp.net Webサイトとの間で安全な通信を行う必要があります。 asp.netのウェブサイトで私は私の公開鍵を私のWindowsサービスに送り、私のサービスから暗号化されたメッセージを受け取り、asp.netで解読する鍵ペアを生成しています。asp.netキーストアなしでRSA公開鍵ペアを生成する

最初の問題はこれです.. user profile is not created in asp.netですので、RSAParams.Flags = CspProviderFlags.UseMachineKeyStore;を使用する必要があります。

私はマシンストアにアクセスできないので、ホスティングプロバイダでは機能しません。

私の解決策はメモリ内にキーペアを生成し、キーストアを使用しないことだと思いますが、これは可能ですか?

答えて

2

チェックアウトhttp://www.codeproject.com/KB/security/EZRSA.aspx記事からの抜粋:!

は「ヘルプ私たちは何をしますか??周りグーグルのビット、およびシックス・リキッド当社(優秀)のWebホスティングプロバイダへの迅速な電子メールには、理由ことを明らかにしましたこれは、RSACryptoServiceProviderの基盤となるWindows crypt APIの真髄にあります。本質的には、スクリプトが独自の秘密鍵を読み込めるようにするためには、Windowsキーストアのセキュリティが脅かされるため、すべての合理的なWebホスティングプロバイダは、ホスティングプロバイダー自身の秘密鍵を盗み取ったり上書きしたりしますが、これはWindows crypt APIの中で大きな問題に遭いますが、そこには行き詰まっています。さらにいくつかのグーグルリングは、Chew Keong TANの最も優れたBigIntegerクラスとLGPLのCコードを必要とし、XySSL(元々はChristopher Devineが書いた)からのPKCS#1カプセル化を行いました。これらのリソースは、(a)数桁の数字を操作する能力が専門分野であり、(b)PKCS#1フォーマットが構築されているASN.1が嫌いです。計算自体は信じられないほど簡単です。

後でステッチしてパッチを当て、EZRSAが生まれました。 EZRSAは、RSACryptoServiceProviderが行うことができるすべてを、管理されたコードで、Windows crypt APIを使用せずに行うことができます。その結果、Webホスティングプロバイダがあなたに求めている信頼レベル(どこに必要なのか)に関係なく、どこでも実行されます」。

希望します。

関連する問題