SSL 構成
Secure Sockets Layer (SSL) 構成には、クライアントおよびサーバー両方の SSL エンドポイントの動作を制御することができる属性が含まれています。 特定の管理有効範囲を持つように、SSL 構成を割り当てることができます。SSL 構成が継承する有効範囲は、構成トポロジーでセル、ノード、サーバー、またはエンドポイント・リンクのどれを使用して構成を作成するかによって異なります。
SSL 構成を作成する場合は、次の SSL 接続属性を設定できます。
- 鍵ストア
- アウトバウンド接続用のデフォルトのクライアント証明書
- インバウンド接続用のデフォルトのサーバー証明書
- トラストストア
- 証明書を選択するための鍵マネージャー
- ハンドシェーク時に信頼を確立するためのトラスト・マネージャー (単数または複数)
- ハンドシェーク・プロトコル
- ハンドシェークをネゴシエーションするための暗号
- クライアント認証のサポートと要件
- 中央管理選択
- 直接参照選択
- 動的アウトバウンド接続選択
- プログラマチック選択
security.xml ファイルでの SSL 構成
<repertoire xmi:id="SSLConfig_1" alias="NodeDefaultSSLSettings"
managementScope="ManagementScope_1" type="JSSE">
<setting xmi:id="SecureSocketLayer_1" clientAuthentication="false"
clientAuthenticationSupported="false" securityLevel="HIGH" enabledCiphers=""
jsseProvider="IBMJSSE2" sslProtocol="SSL_TLSv2" keyStore="KeyStore_1"
trustStore="KeyStore_2" trustManager="TrustManager_1" keyManager="KeyManager_1"
clientKeyAlias="default" serverKeyAlias="default"/>
</repertoire>
以前のコード・サンプルからの SSL 構成属性を、表 1 で説明します。security.xml 属性 | 説明 | デフォルト | 関連した SSL プロパティー |
---|---|---|---|
xmi:id | xml:id 属性は、この XML 項目の固有 ID を表し、 SSL 構成が他の XML オブジェクト (SSLConfigGroup など) と リンクする方法を決定します。 このシステム定義の値は、固有でなければなりません。 | 管理構成サービスは、デフォルト値を定義します。 | なし。この値は XML 関連にしか使用されません。 |
alias | alias 属性は、SSL 構成の名前を定義します。 直接選択では alias 属性を使用し、ノードは alias の接頭部に付きません。 その代わり、管理有効範囲により、名前が有効範囲内で必ず固有になります。 | デフォルトは CellDefaultSSLSettings です。 |
com.ibm.ssl.alias |
managementScope | managementScope 属性は、SSL 構成の管理有効範囲を定義し、実行時の SSL 構成の 可視性を決定します。 | デフォルトの有効範囲はセルです。 |
managementScope 属性は SSL プロパティーにマップされません。 ただし、SSL 構成がプロセスに関連付けられるかどうかを確認します。 |
type | type 属性では、Java™ Secure
Socket Extension (JSSE) または System Secure Sockets Layer (SSSL) 構成オプションが定義されます。
JSSE は、WebSphere
Application Server 内の大部分のセキュアな通信の SSL 構成タイプです。
|
デフォルトは JSSE です。 | com.ibm.ssl.sslType |
clientAuthentication | clientAuthentication 属性は、SSL クライアント認証が必要かどうかを決定します。 | デフォルトは false です。 | com.ibm.ssl.clientAuthentication |
clientAuthenticationSupported | clientAuthenticationSupported 属性は、SSL クライアント認証がサポートされるかどうかを決定します。クライアントはクライアント証明書を持っていない場合、クライアント証明書を提供する必要はありません。
重要:
clientAuthentication 属性を true に設定すると、clientAuthenticationSupported 属性に設定された値をオーバーライドします。 |
デフォルトは false です。 | com.ibm.ssl.client.AuthenticationSupported |
securityLevel | securityLevel 属性は、暗号スイート・グループを決定します。 有効な値には、STRONG (128 ビット暗号)、MEDIUM (40 ビット暗号)、WEAK (暗号化なしのすべての暗号)、および CUSTOM (暗号スイート・グループをカスタマイズする場合) があります。特定の暗号リストを持つ enabledCiphers 属性を設定すると、システムはこの属性を無視します。 | デフォルトは STRONG です。 | com.ibm.ssl.securityLevel |
enabledCiphers | enabledCiphers 属性を設定して、暗号スイートの固有リストを指定できます。 リストでは、スペースで各暗号スイートを区切ります。 | 暗号スイート選択のデフォルトは、securityLevel 属性です。 | com.ibm.ssl.enabledCipherSuites |
jsseProvider | jsseProvider 属性は、特定の JSSE プロバイダーを定義します。 | デフォルトは IBMJSSE2 です。 | com.ibm.ssl.contextProvider |
sslProtocol | sslProtocol 属性は、SSL ハンドシェーク・プロトコルを定義します。
有効なオプションは以下のとおりです。
listSSLProtocols コマンドにより、 FIPS 140-2 または SP800-131 など、特定構成で有効なプロトコルに関する詳細が示されます。 |
デフォルトは SSL_TLSv2 です。 | com.ibm.ssl.protocol |
keyStore | keyStore 属性は、SSL 構成が鍵選択に使用する、鍵ストアと keyStore インスタンスの属性を定義します。 | デフォルトは CellDefaultKeyStore です。 |
詳しくは、鍵ストア構成を参照してください。 |
trustStore | trustStore 属性は、SSL 構成が証明書の署名の検査に使用する鍵ストアを定義します。 | デフォルトは CellDefaultTrustStore です。 |
trustStore は JSSE の論理項です。これは、署名者証明書を含む鍵ストアを意味します。 署名者証明書は、SSL ハンドシェーク中に WebSphere Application Server に送信される証明書を検証します。 |
keyManager | keyManager 属性では、WebSphere Application Server が鍵ストアから鍵を選択するのに使用す る鍵マネージャーが定義されます。JSSE の鍵マネージャーは、javax.net.ssl.X509KeyManager インターフェースを制御します。カスタム鍵マネージャー は、javax.net.ssl.X509KeyManager と com.ibm.wsspi.ssl.KeyManagerExtendedInfo インターフェースを制御します。com.ibm.wsspi.ssl.KeyManagerExtendedInfo インターフェースでは、WebSphere Application Server からより多くの情報が提供されます。 | デフォルトは IbmX509 です。 | com.ibm.ssl.keyManager は、既知の鍵マネージャーを定義し、アルゴリズムおよび algorithm|provider フォーマット (例えば、IbmX509 および IbmX509|IBMJSSE2) を受け入れます。 com.ibm.ssl.customKeyManager は、カスタム鍵マネージャーを定義し、他の keyManager プロパティーよりも優先 順位が高くなります。このクラスは、javax.net.ssl.X509KeyManager を実装する必要があり、implement com.ibm.wsspi.ssl.KeyManagerExtendedInfo を実装することができます。 詳しくは、csec_sslx509certIDkeyman.htmlを参照してください。 |
trustManager | trustManager は、 接続のピア側を信頼するかどうかを決定する際に使用する、トラスト・マネージャーまたはトラスト・マネージ ャーのリストを決定します。 JSSE のトラスト・マネージャーは、javax.net.ssl.X509TrustManager インターフェースを実装します。 カスタム・トラスト・マネージャーは、WebSphere Application Server 環境からより多くの情報を取得するために、 com.ibm.wsspi.ssl.TrustManagerExtendedInfo インターフェースも実装する場合があります。 | デフォルトは IbmPKIX で、証明書に証明書失効リスト (CRL) 配布ポイントが含まれている場合は、CRL の検証用に構成することができます。その他のオプションは IbmX509 です。 | com.ibm.ssl.trustManager は、たいていのハンドシェーク状況で必要な、既知のトラスト・マネージャーを定義します。 com.ibm.ssl.trustManager は、証明書有効期限の検査と署名の検証を実行します。 SSL ハンドシェーク中に呼び出される、追加のカスタム・トラスト・マネージャーを使用して、com.ibm.ssl.customTrustManagers を定義することができます。 トラスト・マネージャーを追加する場合は、 垂直バー (|) 文字で区切ってください。 詳しくは、csec_sslx509certtrustdecisions.htmlを参照してください。 |
クライアント SSL 構成は、ssl.client.props properties プロパティー・ファイルを使用して管理されます。ssl.client.props ファイルは、各プロファイルの ${USER_INSTALL_ROOT}/properties ディレクトリーにあります。 このファイルの構成について詳しくは、ssl.client.props クライアント構成ファイルを参照してください。いずれかの javax.net.ssl システム・プロパティーを指定すると、ssl.client.props ファイル内のそれに対応するプロパティーが指定変更されます。