クライアント署名者を SSL で取得するためのセキュア・インストール
WebSphere® Application Server 環境の各プロファイルには、プロファイルの作成時に作成された固有の存続期間の長いルート証明書によって署名された固有のチェーン証明書が含まれています。 この証明書は、 WebSphere Application Server バージョン 6.1 に付属するデフォルトの自己署名証明書、およびバージョン 6.1より前のリリースに付属するデフォルトのダミー証明書を置き換えます。 プロファイルがデプロイメント・マネージャーに統合されると、ルート署名証明書の署名者は、セルの共通トラストストアに追加され、そのルート証明書によって署名されたすべての証明書に対して信頼性が確立されます。
デフォルトでは、クライアントは WebSphere Application Server 環境の異なるプロファイルからのサーバーを信頼しません。 すなわち、クライアントにはこれらのサーバーのルート署名者が含まれていません。 この信頼の確立を支援するために、実行できることがいくつかあります。
- 署名者交換プロンプトを使用可能にして、接続試行中に署名者を受け入れます。
- 接続を行う前に、retrieveSigners ユーティリティーを実行して、そのシステムから署名者をダウンロー ドします。
- サーバー・プロファイルの /config/cells/<cell_name>/nodes/<node_name> ディ レクトリーから、クライアントの /etc ディレクトリー に、trust.p12 ファイルをコピーします。 SSL 構成を更新して、新しいファイル名とパスワード (これらが違っている場合) を反映します。 ファイルをコピーすることにより、そのセルのサーバーのすべての署名者を含む trust.p12 が、そのクライアントに提供されます。 また、このステップを、まだ DummyClientTrustFile.jks ファイルを使用しているバックレベルのクライア ントについて、実行する必要がある場合があります。 その場合は、sas.client.props または soap.client.props ファイルを 変更して、新しいトラストストア、トラストストア・パスワード、 およびトラストストア・タイプ (PKCS12) を 反映させる必要がある場合があります。
署名者交換プロンプトを使用したクライアントからの署名者の取り出し
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\serverStatus -all ADMU0116I: Tool information is being logged in file
C:\WASX_e0540.11\AppServer\profiles\AppSrv01\logs\serverStatus.log ADMU0128I: Starting tool with the
AppSrv01 profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: dmgr
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is not found in truststore
C:\WebSphere\AppServer\profiles\AppSrv01\etc\trust.p12.
Here is the signer information (verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/logs/serverStatus.log ADMU0128I:
Starting tool with the dmgr profile ADMU0503I:
Retrieving server status for all servers ADMU0505I: Servers found in configuration:
ADMU0506I: Server name:
dmgr *** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5 is
not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12.
Here is the signer information (verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US
Issuer DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur. ADMU0508I:
The Deployment Manager "dmgr" is STARTED/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/bin/serverStatus -all ADMU0116I:
Tool information is being logged in file
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/logs/serverStatus.log ADMU0128I:
Starting tool with the default profile ADMU0503I: Retrieving server status for all servers
ADMU0505I: Servers found in
configuration: ADMU0506I: Server name: server1
*** SSL SIGNER EXCHANGE PROMPT *** SSL signer from target host 192.168.1.5
is not found in truststore
/QIBM/UserData/WebSphere/AppServer/V85/profiles/default/etc/trust.p12.
Here is the signer information
(verify the digest value matches what is displayed at the server):
Subject DN: CN=myhost.austin.ibm.com, OU=myhostNode01Cell, OU=myhostNode01,
O=IBM, C=US Issuer DN:
CN=myhost.austin.ibm.com, O=IBM, C=US
Serial number: 2510775664686266 Expires: Thu Feb 19 15:58:49 CST 2009
SHA-1 Digest: 2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Subject DN: CN=myhost.austin.ibm.com, OU=Root Certificate, OU=myhostNode01Cell,
OU=myhostNode01, O=IBM, C=US Issuer DN: CN=myhost.austin.ibm.com, OU=Root
Certificate, OU=myhostNode01Cell, OU=myhostNode01, O=IBM, C=US Serial number:
2510773295548841 Expires: Tue Feb 15 15:58:46 CST 2028 SHA-1 Digest:
2F:96:70:23:08:58:6F:66:CD:72:61:E3:46:8B:39:D4:AF:62:98:C3
MD5 Digest: 04:53:F8:20:A2:8A:6D:31:D0:1D:18:90:3D:58:B9:9D
Add signer to the truststore now? (y/n) y A retry of the request may need to occur.
ADMU0508I: The Application Manager "server1" is STARTEDこのプロセスを自動化するには、 retrieveSigners コマンドを参照してください。署名者を受け入れるプロンプトが表示されると、ソケット・タイムアウトが発生し、接続が切断する可能性があります。 このため、メッセージ A の要求の再試行が必要になる場合があります。 プロンプトに応答した後で表示されます。 メッセージは、ユーザーに要求を再実行依頼するように通知します。 この問題は頻繁には発生しません。また、ある種のプロトコルでは、他のプロトコルよりこの問題が一般的な場合が あります。
プロンプトの応答の待機中にソケットがタイムアウトになると、要求の再試行が必要な場合があります。 再試行が必要な場合は、
(y) を入力するとプロンプトが再表示されないことに注意してください。
これは、署名者が既にトラストストアに追加されていることを示します。
表示されている SHA-1 ダイジェストを検証します。これは、サーバーによって送信される証明書の署名です。 サーバーで証明書を確認する場合は、同じ SHA-1 ダイジェストが表示されていることを確認します。
プロンプトを表示させたくない場合は、 retrieveSigners ユーティリティーを実行して特定のセル内のすべての署名者を取り出すことにより、このプロ ンプトを使用不可にできます。 このクライアント・スクリプトを使用して、共通トラストストアを参照することにより、リモート鍵ストアから ローカル鍵ストアに、署名者をダウンロードしたりアップロードすることができます。 詳しくは、 SSL でのデフォルトのチェーン証明書の構成を参照してください。
retrieveSigners ユーティリティーを使用したクライアントの署名者のダウンロード
retrieveSigners ユーティリティーを実行して、指定したクライアント鍵ストアのすべての署名者を 、リモート鍵ストアから取り出すことができます。参照する一般的なリモート鍵ストアは、CellDefaultTrustStore です。
このトラストストアには、クライアントがプロセスに接続できるようにする署名者が含まれています。 retrieveSigners ユーティリティーは、ターゲット・プロセスの有効範囲内の、ターゲット構成にある鍵スト アを指し、署名者 (証明書項目のみ) を ssl.client.props ファイルのクライアント鍵ストアにダウンロー ドすることができます。C:\WASX_e0540.11\AppServer\profiles\AppSrv01\bin\retrieveSigners.bat CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner CWPKI0308I: Adding signer alias
"CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following SHA
digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA CWPKI0308I:
Adding signer alias "default" to
local keystore "ClientDefaultTrustStore" with the following SHA digest:
40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:92:9E:37:8D:51:A5:47/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/bin retrieveSigners CellDefaultTrustStore
ClientDefaultTrustStore -autoAcceptBootstrapSigner CWPKI0308I: Adding signer alias "CN=myhost.austin.ibm.com,
O=IBM, C=US" to local keystore "ClientDefaultTrustStore" with the following
SHA digest: 91:A1:A9:2D:F2:7D:70:0F:04:06:73:A3:B4:A4:9C:56:9D:A8:A3:BA CWPKI0308I: Adding signer alias
"default" to local keystore
"ClientDefaultTrustStore" with the following SHA digest: 40:20:CF:BE:B4:B2:9C:F0:96:4D:EE:E5:14:
92:9E:37:8D:51:A5:47オプションを使用します。 -autoAcceptBootstrapSigner オプションを使用して WebSphere Application Server を有効にする。 操作が完了した後でダイジェストを検証できるように、署名者が追加される間に SHA-1 ダイジェストが印刷されます。前のリリースからのクライアントとサーバーの署名者の取得
単一の trust.p12 鍵ストア・ファイルに、セルのすべての署名者を集めるには、次のステップを実行しま す。
- サーバー上の trust.p12 鍵ストア・ファイルをコピーし、それをクライアント上に複製します。 クライアントは、以前のリリースの SSL プロパティーを指定している sas.client.props および soap.client.props ファイルから直接このファイルを参照します。
- クライアント・サイドの鍵ストアのパスワードを変更して、コピーした鍵ストアに関連付けられているデフ ォルトのセル名に一致するようにします。
- クライアント構成で、trust.p12 ファイルのデフォルト鍵ストア・タイプを、PKCS12 に変更 します。
次の 2 つのコード・サンプルは、変更を行う前と後の表示を示しています。
com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=
file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/DummyClientTrustFile.jks
com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKScom.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/
dmgr/etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/
AppServer/V85/ND/profiles/dmgr/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\
= com.ibm.ssl.trustStoreType=JKScom.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/
etc/DummyClientKeyFile.jks
com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS com.ibm.ssl.trustStore=
/QIBM/UserData/WebSphere/AppServer/
V85/Base/profiles/default/etc/DummyClientTrustFile.jks com.ibm.ssl.trustStorePassword={xor}CDo9Hgw\=
com.ibm.ssl.trustStoreType=JKSクライアントの /etc ディレクトリー内の共通トラストストア・ファイルに必要な SSL 構成の変更com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=file\:/// C\:/SERV1_601_0208/AppServer/profiles/AppSrv01/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/ND/profiles/dmgr/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12com.ibm.ssl.protocol=SSL com.ibm.ssl.keyStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/
profiles/default/etc/
DummyClientKeyFile.jks com.ibm.ssl.keyStorePassword={xor}CDo9Hgw\= com.ibm.ssl.keyStoreType=JKS
com.ibm.ssl.trustStore=/QIBM/UserData/WebSphere/AppServer/V85/Base/profiles/default/etc/trust.p12
com.ibm.ssl.trustStorePassword=myhostNode01Cell com.ibm.ssl.trustStoreType=PKCS12これらの変更を、soap.client.props ファイルで行い、 DummyClientKeyFile.jks ファイルの代わりに key.p12 ファイルを指定することもできます。 ただし、keyStorePassword および keyStoreType の値も変更して、これらをデフォルトの key.p12 ファイルの値に一致させる必要があります。
WebSphere Application Server バージョン 7.0より前のリリースでは、サーバー上の SSL 構成を編集して、共通トラストストアを置き換える必要があります。 サーバーが使用する trust.p12 ファイルには、前のリリース・レベルでサーバー間の接続を行うために、デ フォルトのダミー証明書署名者も存在する必要があります。 デフォルトの証明書を DummyServerKeyFile.jks ファイルから 手動で抽出して、構成に追加した trust.p12 ファイルに、 その証明書をインポートしなければならない場合があります。