SSL、TLS、鍵ストア、および証明書

Secure Sockets Layer (SSL) およびトランスポート層セキュリティー (TLS) は、クライアントとサーバーがセキュアな接続上で通信できるようにするプロトコルです。 これらのセキュリティー・プロトコルは、証明書を使用してクライアントとサーバーの ID を検証します。 証明書は鍵ストアに含まれています。

SSL また、 TLS は、Webブラウザと()などのアプリケーションサーバー間の安全な通信のための標準プロトコルです。これらのプロトコルは、()クライアントとデータベースサーバー間の安全な通信のためにも実装されています。 SSL および TLS では、データは一方で暗号化され、送信された後、もう一方で処理の前に暗号化解除されます。 クライアントとサーバーの両方が、両方向に通信されるすべてのデータを暗号化します。

SSL では認証も提供されます。 クライアントとサーバー間での通信では、サーバーが資格情報を証明書の形式でクライアントに渡します。 これによりサイトの ID が保証されます。 サーバーがクライアントからの証明書を要求する場合もあります。 証明書は鍵ストアに含まれています。

証明書の所有者は、暗号化された署名で証明書に署名します。 通常、ユーザーは、VeriSign や Thawte などのよく知られた認証局 (CA) ベンダーの証明書を購入します。 そのような証明書は、CA による電子認証を受けることができます。

テスト環境などの一部のケースでは、認証が重要でない場合もあります。 そのような場合のために、Java™ には、鍵ストアと自己署名証明書を作成するために使用できる keytool コマンド・ライン・ユーティリティーが含まれています。 自己署名証明書は、CA に公式には登録されません。