2012-03-01 11 views
0

申し訳ありませんが、タイトルが貧弱ですが、基本的に達成しようとしているのは、着信接続を待ってから目的の宛先に転送するためのTCPListenerを使用するアプリケーションです。通常のHTTPリクエストを転送するのは簡単ですが、HTTPS接続を「プロキシ」するためにはどのような手順が必要ですか?TCPListenerを使用してサーバーからSSL HttpRequestをリレーする方法はありますか?

答えて

3

HTTPS通信の内容を送信元または送信先にすることはできません。真ん中の誰も盗聴することはできません。したがって、事前に相手先を知っていない限り(例えば、誰かがあなたにターゲットIPをアウトオブバンドで送信することができれば)、あなたは立ち往生しています。

NITPICK EDIT:これは完全に真実ではありません。あなたは目的地にふりをしてハンドシェイクのプロセスに干渉することができます。 は要求の内容を見ることができますが、ユーザーには証明書の不適切な警告が表示されます。

+0

+1を。正しい証明書を使用しない限り。 –

+2

あなたは実際の合理的なシナリオでサーバー側の証明書を取得することはできません... – zmbq

+0

はい(私も私の答えに書いてみました...)、またFoxyGTは、彼のプライベートサーバーのためにそれをしたいと思っています - 一般的なミッドマンプロキシを作成する純粋な邪悪な意図を想定していない疑いのポスターの利点を与えます。 –

1

クライアントに何らかのコントロールがない限り、https接続を「プロキシ」する方法はありません。

  • クライアントのプロキシ設定を変更することができる場合は、SOCKSプロキシとふりをすることができます。
  • クライアントのホストファイルに新しいエントリを追加することができれば(宛先のように)、通信をバイパスできます。

しかし、セッションの内容を読む方法はありません。

0

実際には理論的にはかなり簡単です。サーバ証明書と、クライアント証明書が使用されている場合は、両者のハンドシェイクが正しく実装されているかどうかを知る必要があります。

実際には、所有していない限りサーバー用のSSL証明書を取得する方法はなく、クライアント証明書用にも同じ方法でSSL証明書を取得する方法はありません。

私はバイオリン弾きがHTTPS復号ない方法を読ん説明お勧めします:http://www.fiddler2.com/Fiddler/help/httpsdecryption.asp

関連する問題