Webサービスに暗号化されたデータを送信するWinFormsクライアントがあります。 WinFormsクライアントは、Symmetric RijndaelManagedSessionKeyを作成し、また、「ハードコードされたRSA非対称公開鍵」を持ちます。対称キーの交換
私は本当にデータをパッケージ化しやすくするEncryptedXmlクラスを使用しています。
Webサービスには、「ハードコードされた」プライベートキーと公開キーの両方があり、SessionKeyを正常に復号化し、それを使用して送信している実際のデータを復号化できます。
これは、EncryptedDataクラスによって自動的に処理されます。
私が抱えている問題は、Webサービスの終了時に返信したいときに、送信されたSessionKeyを取得する方法がわからないということです。
Webサービス側で復号化する前に、暗号化されたセッションキーが表示されますが、XMLを復号化した後は消えてしまったため、返信用のセッションキーはありません。
私はこの暗号化されていない鍵をどのように入手できますか?
「It's gone」よりも少し詳しい情報が必要です。コードスニペット? RSAキーをハードコードするのも良い習慣ではありません。なぜWindowsのキーストアから証明書を読んで、それらを暗号化/復号化に使うのでしょうか? –
MSDNのコードとほぼ同じです:http://msdn.microsoft.com/en-us/library/ms229746.aspx Decrypt()メソッドでは、DecryptDocumentを呼び出した後で自分のデータを見ることができますが、送信者に返信できるように、SessionKey(Encrypt()メソッドで使用されていた)を取得しますか? – Tim
あなたは単にSSLを使用していませんか? – CodesInChaos