特定のシナリオがあります
OpenSSL: TLS 接続を受け入れてから別のプロセスに転送し 、OpenSSL の安全な再ネゴシエーション
ここで、P1 プロセスは子プロセス C1 を fork します。このシナリオは正常に機能します。これで問題ありません。
今、これを MITM プロキシで実行したいと考えています。
MITM プロキシはステップ 12 で失敗します。('SSL routines', 'SSL3_READ_BYTES', 'unknown alert type')
クライアント側でSSL_do_handshake が返されます。
MITM プロキシはSSL_do_handshake
、ステップ 12 を理解する必要があり、それを停止するべきではありません。
アプリケーションでディープ パケット インスペクション プロキシをサポートする必要があるため、このシナリオをテストします。
mitmproxy、 burp proxy、およびfiddlerでテストしましたが、うまくいきませんでした。
ステップ 12 を通過するにはどうすればよいですか?
基本的な単体テストは、次の方法で実行できます。
$ openssl s_client -connect www.cisco.com:443
[snip... a lot of openssl output]
---
HEAD / HTTP/1.0
R
RENEGOTIATING
[snip... certificate info]
verify return:1:
<Connection remains alive>