私が理解しているように、SSLネゴシエーション中にクライアント(つまりカール)はパスワードのリストをサーバーに送信し、サーバーは好みの選択肢で応答します。
カールが送信したパスワードのリストを表示するには?
答え1
カールパスワード要求検出をサービスとして提供するウェブサイトがあります。
curl https://www.howsmyssl.com/a/check
しかし、すべてのパスワードを許可するわけではありません。許可するパスワードの1つがカールから送信されたリストにない場合、まったく応答を受け取ることはできません。
答え2
あなたはそれを使用することができますワイヤーシャーク。たとえば、「tcp port 443」のパケットフィルタを設定し、ディスプレイフィルタを「ssl」に設定すると、次の出力が表示されます。
"Client Hello"パケットにTLS_AES_128_GCM_SHA256
。
答え3
この答え[1]は良い始まりですが、実際に自己署名証明書を生成する方法をあいまいにし、この部分がなければ答えは機能しません。また、自己署名証明書を生成する方法に関するガイダンスを含む[2]にリンクされている文書ではOpenSSLを使用しています。できます。必要以上にこの目的のために、はるかに簡単な別のツール[3]を見つけました。
generate_cert -host localhost
外部依存関係なしでGoで書かれた単一のファイルだけです。上記のコマンドを実行した後、OpenSSLまたは同様のコマンドを使用してサーバーを起動できます。
openssl s_server -msg -accept 8080 -cert cert.pem -key key.pem
次に、次のように要求します。
curl -k https://localhost:8080