1

以下の情報は、LDAPサーバーの1つへのssl接続のwiresharkログを示しています。このクライアントでは、証明書の長さはゼロです。これが何を意味するのか教えてください。クライアント認証がないためですか?相互認証の場合、クライアント証明書を含める必要がありますか?

329 SSLv2   Client Hello
332 TLSv1   Server Hello, Certificate, Certificate Request, Server Hello Done
334 TLSv1   Certificate, Client Key Exchange
336 TLSv1   Change Cipher Spec, Encrypted Handshake Message
337 TLSv1   Change Cipher Spec, Encrypted Handshake Message

フレーム332には完全な証明書情報が表示され、334には証明書の長さ:0が表示されます。フレーム334には、クライアントキーExchangeにpremaster-secretを渡すのに十分な情報が含まれています。

4

1 に答える 1

6

このCertificate Requestメッセージは、サーバーがクライアント証明書を要求したことを意味します(必須かどうか)。

クライアントからの応答として送信された空のCertificateメッセージは、クライアントが使用するのに適したクライアント証明書を見つけられなかった(または使用しないことを選択した)ことを意味します。

サーバーがこの接続を続行するかどうかは、サーバーの構成次第です。クライアント証明書認証はオプションにすることができます。

この動作は、[TLS仕様][1]で説明されています。

このメッセージは、サーバーが証明書を要求した場合にのみ送信されます。適切な証明書が利用できない場合、クライアントは証明書を含まない証明書メッセージを送信する必要があります。つまり、certificate_list構造の長さはゼロです。クライアントが証明書を送信しない場合、サーバーはその裁量でクライアント認証なしでハンドシェイクを続行するか、致命的なhandshake_failureアラートで応答することができます。

(これはTLS 1.2仕様からのものであり、TLS 1.1以下では、[...]証明書メッセージを送信する必要があります[...]。)[1]:https ://www.rfc-editor.org /rfc/rfc5246#section-7.4.6

于 2012-07-16T09:52:23.400 に答える