質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

3921閲覧

C# HttpListenerでSSL通信が受信できません

tamina

総合スコア136

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/11/19 08:09

現在C#でプロキシサーバを作成しています。

httpのアドレスには正しくプロキシサーバとして、振る舞うことが確認できたのですが、
httpsのアドレスへのアクセスを受信することが出来ませんでした。

受信部分は以下のようになっています

HttpListener作成

HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://192.168.1.3:6000/"); listener.Start(); listener.BeginGetContext(this.OnRequested_ClientToProxy, listener);

HTTP要求受信部

public void OnRequested_ClientToProxy(IAsyncResult result) { try { HttpListener listener = (HttpListener)result.AsyncState; HttpListenerContext context = listener.EndGetContext(result);         }      }

■問題再現手順
1.Clientで、プロキシ設定をHttpListenerのアドレスとポート番号に設定
2.サーバで上記のプログラムを動作させる
3.ClientでIEを使ってhttps://www.google.com/ にアクセスする。
4.HTTP要求受信部の関数が呼び出されない。

設定方法が分かる方がいましたら教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dodox86

2020/11/19 08:58

回答未満のためコメントのみですが、HTTPSをプロキシサーバー経由で使う場合、最初にCONNECTメソッドで接続を確立してからSSLでの通信が始まるので、HTTPのGETなど個別のメソッドは引っかからない気がします。そうでないと、プロキシサーバーでSSLの通信内容を盗聴できるということになりますよね。「HTTPS プロキシ CONNECT」などと検索するとヒントが得られるかもしれません。
guest

回答1

0

自己解決

dodox86のヒントで解決しました。
HTTPListenerではConnectメソッドに対応していませんでした。
念のため、Get,Postなどは対応しているようです。

Connectをキャッチするため、TCPListenerを使って接続を検知できました。
オレオレ証明を使えば、SSL通信が読めそうですね

投稿2020/11/27 08:59

tamina

総合スコア136

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問