SSL
このセクションでは、コネクターの SSL 機能のインプリメント方法について説明します。背景情報については SSL の資料を参照してください。このセクションでは、SSL テクノロジーについて十分に理解していることを前提としています。
JSSE
コネクターは、JSSE を使用して HTTPS および SSL をサポートします。IBM JSSE はコネクターと共に出荷されます。この機能を使用可能にするには、java.security ファイルに次の項目があることを確認してください。このファイルは、コネクターと一緒にインストールされるファイルの 1 つです。
security.provider.5=com.ibm.jsse.IBMJSSEProvider
java.security は、コネクターのインストール先
システムの $ProductDir¥lib¥security ディレクトリーにあります。コネクターは、JavaProtocolHandlerPackages コネクター・プロパティーの値を使用して、システム・プロパティー java.protocol.handler.pkgs を設定します。コネクターと共に出荷された IBM JSSE の場合、このプロパティーの値は com.ibm.net.ssl.internal.www.protocol に設定する必要があることに注意してください。
JavaProtocolHandlerPackages 構成プロパティーでは、この値がデフォルトになります。ただし、システムに値が空でない java.protocol.handler.pkgs
システム・プロパティーがある場合、コネクターがそれを上書きするのは
JavaProtocolHandlerPackages コネクター・プロパティーも設定されている場合のみです。
コネクターは、初期化中に、JSSE でサポートされる無名の暗号スイートをすべて使用不可にします。
KeyStore および TrustStore
コネクターで SSL を使用するには、鍵ストアとトラストストアをセットアップする必要があります。鍵ストア、証明書、および鍵生成のセットアップ用ツールは提供されていません。これらの作業を完了するには、サード・パーティーのソフトウェア・ツールを使用する必要があります。
SSL プロパティー
コネクター固有の SSL プロパティーとして、以下のプロパティーを指定することができます。
- SSLVersion
- SSLDebug
- KeyStore
- KeyStoreAlias
- KeyStorePassword
- TrustStore
- TrustStorePassword
これらのプロパティーは、コネクター・インスタンスに適用されることに注目してください。コネクターにプラグインされるすべての HTTPS プロトコル・リスナーと、コネクター・インスタンスごとの HTTP-HTTPS プロトコル・ハンドラーにより、同じ SSL プロパティー値のセットが使用されます。HTTPS/SSL セットアップの詳細については、付録D. HTTPS/SSL の構成を参照してください。
SSL プロトコル・リスナーおよび HTTPS プロトコル・リスナー
HTTPS プロトコル・リスナーを使用するには、コネクター固有の SSL プロパティーを指定する必要があります。これらのプロパティーに割り当てる値は、以下の SSL 要件を満たしている必要があります。
- SSLVersion 使用する SSLVersion が JSSE によってサポートされていることを確認してください。
- KeyStore HTTPS プロトコル・リスナーは、SSL 通信のサーバーとして動作するので、鍵ストアを指定する必要があります。リスナーは、SSL->KeyStore 構成プロパティーに指定されている鍵ストアを使用します。このプロパティーの値は、鍵ストア・ファイルの完全パスでなければなりません。鍵ストアにはコネクター用の鍵ペア (秘密鍵と公開鍵) があることを確認してください。秘密鍵の別名を、SSL->KeyStoreAlias プロパティーで指定する必要があります。鍵ストアにアクセスする際に必要なパスワードは、SSL-> KeyStorePassword プロパティーで指定しなければなりません。鍵ストアにアクセスする際に必要なパスワードと秘密鍵 (鍵ストアにある) が同じであることも確認してください。最後に、コネクターのディジタル証明書をクライアントに配布して、コネクターの認証ができるようにする必要があります。
- TrustStore HTTPS プロトコル・リスナーでクライアントの認証を行うようにする場合は、クライアント認証をアクティブにしておく必要があります。このためには、SSL ->UseClientAuth プロパティーを true に設定します。以下も指定する必要があります。
- トラストストアのロケーション (SSL->TrustStore 構成プロパティーの値として)
- トラストストアにアクセスする際に必要なパスワード (SSL-> TrustStorePassword プロパティーの値として)
トラストストアには、クライアントのディジタル証明書が含まれていることを確認してください。クライアントで使用されるディジタル証明書は、自己署名するか、または CA から発行されます。トラストストアが CA のルート証明書を信頼すると、JSSE は、その CA によって発行されたすべてのディジタル証明書を認証することになるので注意してください。
HTTPS/SSL セットアップの詳細については、付録D. HTTPS/SSL の構成を参照してください。
SSL プロトコル・ハンドラーおよび HTTP-HTTPS プロトコル・ハンドラー
HTTP-HTTPS プロトコル・ハンドラーで SSL を使用する場合は、コネクター固有の SSL プロパティーを指定する必要があります。これらのプロパティーに割り当てる値は、HTTP プロバイダーの以下の HTTPS/SSL 要件を満たしている必要があります。
- SSLVersion 使用する SSLVersion がプロバイダーおよび JSSE によってサポートされていることを確認してください。
- TrustStore HTTP-HTTPS プロトコル・ハンドラーは SSL 通信ではクライアントとして動作するため、トラストストアをセットアップする必要があります。ハンドラーは、SSL
-> Truststore 構成プロパティーに指定されているトラストストアを使用します。このプロパティーの値は、トラストストア・ファイルの完全パスでなければなりません。トラストストアにアクセスする際に必要なパスワードは、SSL -> TrustStorePassword プロパティーに指定しなければなりません。トラストストアには、プロバイダーのディジタル証明書が含まれていることを確認してください。プロバイダーで使用されるディジタル証明書は、自己署名するか、または CA から発行されます。トラストストアが CA のルート証明書を信頼すると、JSSE は、その CA によって発行されたすべてのディジタル証明書を認証することになるので注意してください。
- KeyStore HTTP サービス・プロバイダーでクライアント認証が必要な場合は、鍵ストアをセットアップする必要があります。HTTP-HTTPS プロトコル・ハンドラーは、SSL->KeyStore 構成プロパティーに指定されている鍵ストアを使用します。この値は、鍵ストア・ファイルの完全パスでなければなりません。鍵ストアにはコネクター用に構成された鍵ペア (秘密鍵と公開鍵) があることを確認してください。秘密鍵の別名を、SSL->KeyStoreAlias プロパティーに指定する必要があります。鍵ストアにアクセスする際に必要なパスワードは、SSL-> KeyStorePassword プロパティーに指定しなければなりません。最後に、鍵ストアにアクセスする際に必要なパスワードと秘密鍵 (鍵ストアにある) が同じであることを確認してください。認証のためにコネクターのディジタル証明書を HTTP サービス・プロバイダーに配布する必要があります。
HTTPS/SSL セットアップの詳細については、付録D. HTTPS/SSL の構成を参照してください。
