SSL 証明書

Secure Sockets Layer (SSL) (トランスポート層セキュリティ (TLS) とも呼ばれます) は、インターネット接続をセキュリティで保護するための標準となり、ネットワークでの傍受を防ぐために使用されています。 SSL/TLS プロトコルを使用すると、クライアントとサーバーは相互に認証し、暗号化アルゴリズムをネゴシエートできます。

SSL では、暗号化キーと暗号化アルゴリズムを使用して HTTP 接続をセキュリティで保護します。 暗号化キーは、クライアントとサーバーの両方で使用される SSL 証明書に含まれています。 通常、証明書は X.509 (RFC 2459) ドキュメントです。 サーバーはセッションの SSL 証明書を提供し、ハンドシェイク フェーズでクライアントに証明書を送信します。 クライアントは、サーバーが証明書の要求をクライアントに送信する場合にのみ、その証明書をサーバーに送信します。 したがって、クライアントは常にサーバーを認証しますが、サーバーにはクライアントを認証するかどうかを選択できます。

サーバー証明書は、セキュリティで保護された接続が作成されるたびに使用するために、HTTP Server API のローカル永続ストレージに格納する必要があります。 各証明書ストア エントリには、サーバーの IP アドレスとポート、(メッセージの署名に使用される) 証明書ハッシュ、アプリケーション ID も含まれます。 アプリケーション ID は、証明書を所有するアプリケーションを識別するために使用されます。

システム管理者は、構成 API を使用して SSL サーバー証明書情報を格納できます。 管理ツールは HttpSetServiceConfiguration 関数を呼び出し、サービス構成パラメーターに HttpServiceConfigSSLCertInfo 値を指定して、SSL 証明書の情報を設定します。 マシン上の IP アドレスとポート ペアごとに構成できるサーバー証明書は 1 つだけです。 HTTP Server API には、既存の証明書にアクセスまたは削除するための クエリ 関数と 削除 関数も用意されています。