1

更新: do_handshake が暗号リストをリセットしているようです


確かにこれは非常に具体的なシナリオですが、誰かがアイデアを持っているかもしれません。サーバーが RC4-SHA のみを受け入れるように強制しようとしています (デバッグの理由のみ)。私のコードは次のようになります。

    ctx.set_cipher_list('RC4-SHA')
    self.connection = SSL.Connection(ctx, self.connection)
    print self.connection.getpeername(), self.connection.get_cipher_list()

印刷物によると、すべてが機能し、実際に接続は RC4-SHA でセットアップされています。ただし、Wireshark を見ると、サーバーが別のスイート (TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)) で応答したことがわかります。言うまでもなく、クライアントは TLS_RSA_WITH_RC4_128_SHA (0x0005) を提案したので、使用しない理由はありませんでした。

Python 2.7、pyOpenSSL 0.13、OpenSSL 1.0.1e を使用しています。私が取り組んでいるコードは、mitmproxy の一部です。

何か案は?

4

1 に答える 1