CertificateRequest

CertificateRequest メッセージ (TLS)

[4] TLS Handshake Protocol の CertificateRequest メッセージは、サーバーがクライアントにクライアント証明書を送信することを要求するものです。

仕様書

構文

[5] CertificateRequest は、次の欄で構成されます >>1。

certificate_types
1バイト以上28-1バイト以下の、 クライアントが利用できるクライアント証明書の種別を表す値 (ClientCertificateType) のリストです >>1。
supported_signature_algorithms
2バイト以上216-2バイト以下の、 サーバーが検証できるハッシュアルゴリズムと署名アルゴリズムを表す値の組 (SignatureAndHashAlgorithm) の優先度降順リストです >>1, >>6。
certificate_authorities
0バイト以上216-1バイト以下の、 サーバーが受け付けられる CA の DN を DER で符号化したもの (1バイト以上216-1バイト以下の列) です >>1。 ルートCAを指定しても、下位CAを指定しても構いません >>1。

[10] 楕円曲線暗号で拡張

文脈

[2] 匿名でないサーバーは、選択した cipher suite において適切なら、 任意選択でクライアントに証明書を要求できます >>1。

[3] CertificateRequest メッセージは、 ServerKeyExchange メッセージ (送られない場合にはサーバーからの Certificate メッセージ) の直後にサーバーからクライアントに送信します >>1。

処理

[7] クライアントは、 certificate_authorities が空なら、 予め別途合意がある場合を除き、 certificate_types に合致する任意の証明書を送って構いません >>1。