SSL
このセクションでは、コネクターの SSL 機能のインプリメント方法について説明します。背景情報については SSL の資料を参照してください。このセクションでは、SSL テクノロジーについて十分に理解していることを前提としています。
JSSE
コネクターは、コラボレーションを SOAP/HTTPS Web サービスとして公開し、コラボレーションから SOAP/HTTPS Web サービスを呼び出すことができるようにします。コネクターは、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
これらのプロパティーは、コネクター・インスタンスに適用されることに注目してください。コネクターにプラグインされるすべての SOAP/HTTPS プロトコル・リスナーと、コネクター・インスタンスごとの SOAP/HTTP-HTTPS プロトコル・ハンドラーにより、同じ SSL プロパティー値のセットが使用されます。HTTPS/SSL セットアップの詳細については、付録E. HTTPS/SSL の構成を参照してください。
コラボレーションを SOAP/HTTPS Web サービスとして公開
コラボレーションを SOAP/HTTPS Web サービスとして公開する際には、SOAP/HTTPS プロトコル・リスナーを使用します。SOAP/HTTPS プロトコル・リスナーを使用するには、コネクター固有の SSL プロパティーを指定する必要があります。これらのプロパティーに割り当てる値は、以下の SSL 要件を満たしている必要があります。
- SSLVersion 使用する SSLVersion が JSSE によってサポートされていることを確認してください。
- KeyStore SOAP/HTTPS プロトコル・リスナーは、SSL 通信のサーバーとして動作するので、鍵ストアを指定する必要があります。リスナーは、SSL " KeyStore 構成プロパティーに指定されている鍵ストアを使用します。このプロパティーの値は、鍵ストア・ファイルの完全パスでなければなりません。鍵ストアにはコネクター用の鍵ペア (秘密鍵と公開鍵) があることを確認してください。秘密鍵の別名を、SSL " KeyStoreAlias プロパティーで指定する必要があります。鍵ストアにアクセスする際に必要なパスワードは、SSL " KeyStorePassword プロパティーで指定しなければなりません。鍵ストアにアクセスする際に必要なパスワードと秘密鍵 (鍵ストアにある) が同じであることも確認してください。最後に、コネクターのディジタル証明書を Web サービス・クライアントに配布して、コネクターの認証ができるようにする必要があります。
- TrustStore SOAP/HTTPS プロトコル・リスナーで Web サービス・クライアントの認証を行うようにする場合は、クライアント認証をアクティブしておく必要があります。このためには、SSL " UseClientAuth プロパティーを true に設定します。以下も指定する必要があります。
- トラストストアのロケーション (SSL " TrustStore 構成プロパティーの値として)
- トラストストアにアクセスする際に必要なパスワード (SSL " TrustStorePassword プロパティーの値として)
トラストストアには、Web サービス・クライアントのディジタル証明書が含まれていることを確認してください。Web サービス・クライアントで使用されるディジタル証明書は、自己署名するか、または CA から発行されます。トラストストアが CA のルート証明書を信頼すると、JSSE は、その CA によって発行されたすべてのディジタル証明書を認証することになるので注意してください。
HTTPS/SSL セットアップの詳細については、付録E. HTTPS/SSL の構成を参照してください。
SOAP/HTTPS Web サービスを呼び出すコラボレーション
コラボレーションで SOAP/HTTPS Web サービスを呼び出せるようにするには、SOAP/HTTP-HTTPS プロトコル・ハンドラーを使用します。SOAP/HTTP-HTTPS プロトコル・ハンドラーで SSL を使用する場合は、コネクター固有の SSL プロパティーを指定する必要があります。これらのプロパティーに割り当てる値は、Web サービス・プロバイダーの以下の HTTPS/SSL 要件を満たしている必要があります。
- SSLVersion 使用する SSLVersion が Web サービス・プロバイダーおよび JSSE によってサポートされていることを確認してください。
- TrustStore SOAP/HTTP-HTTPS プロトコル・ハンドラーは SSL 通信ではクライアントとして動作するため、トラストストアをセットアップする必要があります。ハンドラーは、SSL -> Truststore 構成プロパティーに指定されているトラストストアを使用します。このプロパティーの値は、トラストストア・ファイルの完全パスでなければなりません。トラストストアにアクセスする際に必要なパスワードは、SSL -> TrustStorePassword プロパティーに指定しなければなりません。トラストストアには、Web サービス・プロバイダーのディジタル証明書が含まれていることを確認してください。Web サービス・プロバイダーで使用されるディジタル証明書は、自己署名するか、または CA から発行されます。トラストストアが CA のルート証明書を信頼すると、JSSE は、その CA によって発行されたすべてのディジタル証明書を認証することになるので注意してください。
- KeyStore Web サービス・プロバイダーでクライアント認証が必要な場合は、鍵ストアをセットアップする必要があります。SOAP/HTTP-HTTPS プロトコル・ハンドラーは、SSL " KeyStore 構成プロパティーに指定されている鍵ストアを使用します。この値は、鍵ストア・ファイルの完全パスでなければなりません。鍵ストアにはコネクター用に構成された鍵ペア (秘密鍵と公開鍵) があることを確認してください。秘密鍵の別名を、SSL " KeyStoreAlias プロパティーに指定する必要があります。鍵ストアにアクセスする際に必要なパスワードは、SSL " KeyStorePassword プロパティーに指定しなければなりません。最後に、鍵ストアにアクセスする際に必要なパスワードと秘密鍵 (鍵ストアにある) が同じであることを確認してください。認証のためにコネクターのディジタル証明書を Web サービス・プロバイダーに配布する必要があります。
HTTPS/SSL セットアップの詳細については、付録E. HTTPS/SSL の構成を参照してください。
