4

Firefox の Java アプリケーションが SSL 接続を介して Web サイトに送信している情報を読みたいと思います。

私は WireShark を使用していますが、Firefox が使用している暗号化キーを何らかの方法で Wireshark に伝えることができれば、wireshark は ssl メッセージを復号化できると思います。

次に、この Web サイトが私のコンピューターについてどのような情報を取得しているかを正確に説明します。

質問があいまいな場合は申し訳ありません...手がかりを探し始める場所についての指針をいただければ幸いです。

4

3 に答える 3

2

プログラミング関連ではありません。

ただし、これを行うには、アプリケーションが接続しているサイトの公開鍵部分と秘密鍵部分の両方の証明書が必要です。そのため、所有しているサイトでなければ、それを行うことはできません。 . 受信 Web サイトを管理している場合は、wireshark wikiの指示に従ってください。

于 2010-01-24T12:07:53.123 に答える
1

プログラムでこれを実行しようとしているのではなく、デバッグ中にヘッダーを表示したいだけであると仮定すると、Charles を使用できます。

http://www.charlesproxy.com/

SSL トラフィックを復号化するように設定する方法については、かなりの情報がここにあります。

http://www.charlesproxy.com/documentation/using-charles/ssl-proxying/

于 2010-01-24T14:47:33.157 に答える
0

Java アプリケーションは、サーバーの公開 (SSL) 証明書を使用してすべての情報を暗号化します (少なくとも、ユーザーに関する限り)。すべての実際的な目的のために、後でこれを復号化する唯一の方法は、明らかに持っていないサーバーの秘密鍵を知ることです。したがって、復号化する方法はありません。

コンピューターの秘密鍵を使用するかどうかについてのコメントに答えるには:

これが「通常の」SSL 接続である場合、クライアント (Java アプリ) はサーバーに接続してその公開鍵を受け取り、その公開鍵が有効であること (信頼できる CA によって署名されている) を検証し、それを使用して暗号化に使用される対称鍵をネゴシエートします。 .

公開鍵/秘密鍵は、一方の鍵で暗号化されたものはすべて、もう一方の鍵でのみ復号化できるように機能します。つまり、Java アプリがサーバーの公開鍵を使用して暗号化したものはすべて、秘密鍵を使用してのみ復号化でき、サーバーを離れることはありません。

SSL/TLS は、Java アプリが独自のキー ペアを持ち、その秘密キーを使用してコンテンツに署名し、それ自体の信頼性を検証できるクライアント証明書をサポートします。ただし、Javaアプリがそれを行ったとしても(疑わしい)、サーバーだけが復号化できるようにデータがまだ暗号化されているため、役に立ちません。

背景資料: http://en.wikipedia.org/wiki/Transport_Layer_Securityおよびhttp://en.wikipedia.org/wiki/Public-key_cryptography

于 2010-01-24T12:09:21.153 に答える