TLS 1.2 について、server 側が client 側の TLS payload を処理しようとしたとき、すでに encrypted であるならばそれを復号する必要がある。このとき、その TLS session で使う暗号スイートは ServerHello でのみ表明されるため、うまい具合にして本来の server が送信した ServerHello を見て利用する対象の cipher suite を把握し、これを rustls::ServerConnection に注入する必要がある。

ExpectClientHello.with_certified_key の中で ServerKeyExchange の送信などをしている。このタイミングで cx.common.suiteSupportedCipherSuite を注入しているので、現実的に TLS 1.2 の通信を復号するためには実際にパケットがネットワークインターフェイスを出入りする順序にならって rustls::ClientConnectionrustls::ServerConnection を同時並行で進めていく必要がありそうであることがわかった。

それで、rustls::ClientConnection に与える ClientConfigstd::sync::mpsc::Receiver<SupportedCipherSuite> を渡すことにする。





cherish
https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%83%E3%82%B7%E3%83%A5
https://ja.wikipedia.org/wiki/%E9%A3%9F%E6%88%9F%E3%81%AE%E3%82%BD%E3%83%BC%E3%83%9E


  • 101 匹わんちゃん
    • ケッ
  • または魔法のミッキーが定石らしい


DYNAMIC CHORD