この図は、Webサーバーとブラウザ間の一般的なSSL接続用ハンドシェイク・メッセージを示しています。

  1. クライアントは、サーバーにハロー・メッセージを送信します。

  2. サーバーは、クライアントにハロー・メッセージを送信してレスポンスを返します。

  3. サーバーは、クライアントに証明書を送信します。

  4. クライアントがサーバーの証明書を使用してサーバーを認証します。

  5. クライアントが乱数(プリマスタ・シークレット)を生成し、サーバーの公開鍵を使用して暗号化し、サーバーに送信します。

  6. サーバーは、秘密鍵を使用してメッセージを復号化し、プリマスタ・シークレットを取得します。

  7. クライアントとサーバーは、SSLセッションで使用される鍵を個別に計算します。

  8. クライアントとサーバーは、相互に終了メッセージを送信します。

  9. クライアントとサーバーは、暗号化鍵とハッシュ鍵およびアルゴリズムを使用してデータを転送します。