2

Windows XP SP3 (つまり v6) で wininet を使用して接続しようとしているクライアント アプリから正常な SSL 接続を取得する際に問題が発生しています。クライアントの hello がおかしいように見えます。hello のバージョンが SSL 2.0 であるのに、ハンドシェークのバージョンが SSL 3.0 である理由を教えてください。wininet を使用してアプリから誤ってコーディングされたものはありますか?

SSLv2 Record Layer: Client Hello
    [Version: SSL 2.0 (0x0002)]  <---------------------
    Length: 76
    Handshake Message Type: Client Hello (1)
    Version: SSL 3.0 (0x0300)    <---------------------
    Cipher Spec Length: 51
    Session ID Length: 0
    Challenge Length: 16
    Cipher Specs (17 specs)
    Challenge
4

2 に答える 2

4

SSLv3 と TLSv1.x には、TLS 仕様 ( Backward Compatibility With SSL )で説明されているように、クライアントが v2 サーバーもサポートする場合に備えて互換モードがあります。

一部のクライアントはこれをサポートしています。たとえば、Oracle/Sun Java には、SSLv2HelloSSLv2 Hello を使用する疑似プロトコルがありますが、実際には SSLv2 をサポートしていません。

于 2012-11-27T14:47:26.807 に答える
2

この問題が解決したことはわかっていますが、視聴者に役立つと思われる件名に関する詳細情報を共有します

「クライアントは SSLv2 ClientHello を送信して、SSLv2 のみを理解するサーバーがそのメッセージを処理し、SSLv2 ハンドシェイクを続行できるようにします。しかし、SSLv2 ClientHello はまた、「ちなみに、私は SSLv3 を知っているので、SSLv3 も知っている場合は、 SSLv2 の代わりに SSLv3 を実行します」、これは通常発生することです (SSLv2 しか知らないサーバーは、最近では非常にまれです)。

Thomas Pornin のコメントから引用しました

于 2013-04-25T12:08:19.347 に答える