[2] TLS Handshake Protocol は、 TLSセッションの折衝に関する責任を負うものです >>1。 TLS の接続は、 TLS Handshake Protocol によってクライアントと鯖の間で暗号化方式その他の折衝を行うことにより、確立されます。
[4] 完全なフローは、次のようにメッセージのやり取りを行います。ClientHelloServerHelloCertificate (必要な場合)ServerKeyExchange (必要な場合)CertificateRequest (必要な場合)ServerHelloDoneCertificate (必要な場合)ClientKeyExchangeCertificateVerify (必要な場合)ChangeCipherSpecFinishedChangeCipherSpecFinished
[5] セッション再開の場合は、次のように大幅に簡略化されたメッセージのやり取りを行います。ClientHello (セッション識別子付き)ServerHelloChangeCipherSpecFinishedChangeCipherSpecFinished
[6] これらのフローはクライアントが新たな TLS の接続を開始した時の他に、
鯖が HelloRequest を送信してクライアントが受信した時にも実行されます。
[13] 証明書に関する拡張機能で CertificateURL メッセージや
CertificateStatus メッセージが使われることがあります。
[10] セッション再開に関する拡張機能で NewSessionTicket
メッセージが使われることがあります。
[11] 追加データの提供のために SupplementalData メッセージが使われることがあります。
[8] DTLS では hello_verify_request メッセージがあります。
[7] Handshake protocol のメッセージの種類は、 msg_type
欄の値により決まります。
[15] msg_type 欄に設定する
HandshakeType
の値には、IANA登録簿 (>>9) があります。
- handshake
- An initial negotiation between client and server that establishes the parameters of their transactions.