SSL 構成は、WebSphere がほかのサーバーとの SSL 接続を実行するために必要です。
SSL 構成は、管理コンソールを介して構成できます。
ただし、SSL 構成を作成するための自動化された方法が望ましい場合は、AdminTask を使用する必要があります。
このタスクについて
AdminTask は対話モードおよびバッチ・モードで使用できます。
自動化の場合は、バッチ・モード・オプションを使用する必要があります。
AdminTask バッチ・モードは、JACL または Python スクリプトで呼び出すことができます。
対話モードはタスクが必要とするすべてのパラメーターをステップスルーしますが、「*」でマークされていることが必要です。
対話式タスクは、タスクを実行する前に、タスクのバッチ・モード構文を画面にエコー出力します。
これはバッチ・モード・スクリプトを書き込んでいるときに役に立ちます。
SSL 構成を作成するために必要な属性です。
- 鍵ストア
- デフォルトのクライアント証明書別名
- デフォルトのサーバー証明書別名
- トラストストア
- ハンドシェーク・プロトコル
- ハンドシェーク中に必要な暗号
- クライアント認証をサポートするかどうか
SSL 構成の作成を自動化する場合は、鍵ストア、トラストストア、鍵マネージャー、およびトラスト・マネージャーなどの必要な属性値のいくつかを作成する必要があります。
プロシージャー
- SSL 構成を作成するために、createSSLConfig AdminTask を使用できます。
SSL 構成に変更を行うには、modifySSLConfig
AdminTask を使用します。
出力例:
*SSL Configuration Alias (alias): testSSLConfig
Management Scope Name (scopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Client Key Alias (clientKeyAlias): clientCert
Server Key Alias (serverKeyAlias): serverCert
SSL Type (type): [JSSE]
Client Authentication (clientAuthentication): [false]
Security Level of the SSL Configuration (securityLevel): [HIGH] HIGH
Enabled Ciphers SSL Configuration (enabledCiphers):
JSSE Provider (jsseProvider): [IBMJSSE2]
Client Authentication Support (clientAuthenticationSupported): [false]
SSL Protocol (sslProtocol): [SSL_TLS] SSL_TLS
Trust Manager Object Names (trustManagerObjectNames):
*Trust Store Name (trustStoreName): testTrustStore
Trust Store Scope (trustStoreScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
*Key Store Name (keyStoreName): testKeyStore
Key Store Scope Name (keyStoreScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Key Manager Name (keyManagerName): IbmX509
Key Manager Scope Name (keyManagerScopeName): (cell):HOSTNode01Cell:(node):HOSTNode01
Create SSL Configuration
F (Finish)
C (Cancel)
Select [F, C]: [F]
WASX7278I: Generated command line: $AdminTask createSSLConfig {-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01 }
(cells/HOSTNode01Cell|security.xml#SSLConfig_1137687301834)
出力の最後に、バッチ・モード・パラメーターが提供されます。
- バッチ・モード:
Jacl を使用:
$AdminTask createSSLConfig {-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01}
Jython を使用:
AdminTask.createSSLConfig ('[-alias testSSLConfig
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01 -clientKeyAlias clientCert
-serverKeyAlias serverCert -trustStoreName testTrustStore
-trustStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyStoreName testKeyStore -keyStoreScopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-keyManagerName IbmX509 -keyManagerScopeName (cell):HOSTNode01Cell:(node):HOSTNode01]')
出力例:
(cells/HOSTNode01Cell|security.xml#SSLConfig_1137687301834)
- 鍵ストアとトラストストア 鍵ストアとトラストストアは、
すでに存在している可能性があります。
そうでなければ、新規に作成する必要があります。
新規の鍵ストアまたはトラストストアを作成するには、createKeyStore AdminTask を使用します。
これは鍵ストア・ファイルを作成し、構成オブジェクトをシステム構成内に保管します。
トラストストアは、通常、その中に署名者証明書しか持っていない鍵ストアです。
鍵ストアを作成するには、以下のように入力します。
Jacl を使用:
$AdminTask createKeyStore {-keyStoreName testKeyStore -keyStoreType PKCS12
-keyStoreLocation $(USER_INSTALL_ROOT)¥testKeyStore.p12 -keyStorePassword abcd
-keyStorePasswordVerify abcd -keyStoreIsFileBased true -keyStoreReadOnly false}
Jython を使用:
AdminTask.createKeyStore ('[-keyStoreName testKeyStore -keyStoreType PKCS12
-keyStoreLocation $(USER_INSTALL_ROOT)¥testKeyStore.p12 -keyStorePassword abcd
-keyStorePasswordVerify abcd -keyStoreIsFileBased true -keyStoreReadOnly false]')
鍵ストアに証明書を取り込むには、「Managing Certificates
using AdminConsole and Admin Task」を参照してください。
鍵ストアとトラストストアは、SSL 構成を作成するために必要です。
createSSLConfig 上で「-keyStoreName」フラグと「-trustStoreName」フラグを使用します。
「-keyStoreScope」フラグと「-trustStoreScope」フラグで、有効範囲が追加できます。
- 鍵マネージャー
鍵マネージャーを使用して、証明書を選択する方法を判別します。
IbmX509 鍵マネージャーが、デフォルトでセキュリティー構成内にあります。
異なる鍵マネージャーが必要な場合は、createKeyManager
AdminTask を使用してそれを作成します。
鍵マネージャーを作成するには、以下のように入力します。
Jacl を使用:
$AdminTask createKeyManager {-name testKeyManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm }
Jython を使用:
AdminTask.createKeyManager ('[-name testKeyManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm]')
createSSLConfig AdminTask 上に鍵マネージャーを提供するには、「-keyManagerScope」フラグと一緒に「-keyManagerName」を使用します。
- トラスト・マネージャー
トラスト・マネージャーを使用して、SSL 通信の間にトラストを確立する方法を判別します。
IbmX509 と IbmPKIX が、セキュリティー構成内でデフォルトで、トラスト・マネージャーです。
異なる、あるいは追加のトラスト・マネージャーが必要な場合は、createTrustManger AdminTask を使用してそれを作成します。
トラスト・マネージャーを作成するには、以下のように入力します。
Jacl を使用:
$AdminTask createTrustManager {-name testTrustManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm }
Jython を使用:
AdminTask.createTrustManager ('[-name testTrustManager
-scopeName (cell):HOSTNode01Cell:(node):HOSTNode01
-provider IBMJSSE2 -algorithm specialAlgorithm]')
SSL 構成は、複数のトラスト・マネージャーを持つことができます。
複数のトラスト・マネージャーを提供するには、-trustManagerObjectNames フラグを持つトラスト・マネージャー構成 ID のコンマで区切られたリストを与えます。
トラスト・マネージャーが作成されると、構成オブジェクト ID が戻されます。
トラスト・マネージャーのオブジェクト ID のリストを入手するには、-displayObjectName true フラグを持つ AdminTask オブジェクトの listTrustManagers コマンドを使用します。
以下に例を示します。wsadmin>$AdminTask listTrustManagers -interactive
List Trust Managers
List trust managers.
Management Scope Name (scopeName):
Display list in ObjectName Format (displayObjectName): [false] true
List Trust Managers
F (Finish)
C (Cancel)
Select [F, C]: [F]
Inside generate script command
WASX7278I: Generated command line: $AdminTask listTrustManagers {-displayObjectName true }
IbmX509(cells/IBM-0AF8DABCF16Node01Cell|security.xml#TrustManager_IBM-0AF8DABCF16Node01_1)
IbmPKIX(cells/IBM-0AF8DABCF16Node01Cell|security.xml#TrustManager_IBM-0AF8DABCF16Node01_2)