在 SSL 中进行安全安装以检索客户机签署者
WebSphere® Application Server 环境中的每个概要文件都包含一个唯一链式证书,该证书由创建该概要文件时创建的生存期较长的唯一根证书签署。此证书将替换随 WebSphere Application Server V6.1 一起提供的缺省自签名证书,以及在 V6.1 之前的发行版中提供的缺省伪证书。将某一概要文件联合到 Deployment Manager 中时,就会将根签署证书的签署者添加到单元的公共信任库中,以便为该根证书签署的所有证书建立信任关系。

缺省情况下,客户机不会信任来自 WebSphere Application Server 环境中的其他概要文件的服务器。也就是说,它们不包含这些服务器的根签署者。但是,可以执行以下操作来帮助建立这种信任:
- 启用签署者交换提示,以在尝试连接期间接受签署者。
- 在建立连接之前,运行 retrieveSigners 实用程序以从该系统中下载签署者。
- 将服务器概要文件的 /config/cells/<cell_name>/nodes/<node_name> 目录中的 trust.p12 文件复制到客户机的 /etc 目录中。如果新的文件名和密码不同,那么更新 SSL 配置以反映它们。复制上述文件时将为客户机提供 trust.p12(该文件包含该单元中所有服务器的签署者)。另外,对于仍在使用 DummyClientTrustFile.jks 文件的后备级别客户机可能也需要执行此步骤。在这种情况下,可能需要更改 sas.client.props 或 soap.client.props 文件,以反映新的信任库、信任库密码和类型 (PKCS12)。
使用签署者交换提示来从客户机中检索签署者
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
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
![[IBM i]](../images/iseries.gif)
/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
![[IBM i]](../images/iseries.gif)
/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 retry of the request may need to occur.”。此消息告诉用户需要重新提交该请求。不应频繁发生此问题,而某些协议可能比其他协议更容易发生此问题。
如果在等待提示响应时套接字超时,那么可能需要重试该请求。如果需要重试,请注意,在输入了 (y)(这表示已将签署者添加到信任库中)的情况下,将不会重新显示该提示。
验证所显示的 SHA-1 摘要,它是由服务器发送的证书的签名。如果在服务器上查看该证书,那么验证是否显示相同的 SHA-1 摘要。
如果不想显示提示,那么可以禁用提示。而通过运行 retrieveSigners 实用程序来检索特定单元的所有签署者。通过使用此客户机脚本来引用公共信任库,可以将签署者从远程密钥库下载到任何本地密钥库中,也可以将签署者从本地密钥库上载到远程密钥库中。有关更多信息,请参阅 SSL 中的缺省链式证书配置。
使用 retrieveSigners 实用程序来为客户机下载签署者
可以运行 retrieveSigners 实用程序来从指定的客户机密钥库的远程密钥库中检索所有签署者。要引用的典型远程密钥库为 CellDefaultTrustStore。
信任库中包含使客户机能够与它的进程相连的签署者。retrieveSigners 实用程序可以指向目标配置中属于目标进程范围内的任何密钥库,并且可以将签署者(仅包括证书条目)下载到 ssl.client.props 文件中的任何客户机密钥库。![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
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
![[IBM i]](../images/iseries.gif)
/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。
下面两个代码样本显示一个视图在更改前后的情况。
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
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=JKS
![[IBM i]](../images/iseries.gif)
com.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=JKS
![[IBM i]](../images/iseries.gif)
com.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 配置更改![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
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=PKCS12
![[IBM i]](../images/iseries.gif)
com.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=PKCS12
![[IBM i]](../images/iseries.gif)
com.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 文件中进行这些更改,并指定 key.p12 文件来替代 DummyClientKeyFile.jks 文件。但是,还必须更改 keyStorePassword 和 keyStoreType 值,以使它们与缺省 key.p12 文件中的相应值相匹配。
在 WebSphere Application Server V7.0 之前的发行版中,必须编辑服务器上的 SSL 配置以替换公共信任库。服务器使用的 trust.p12 文件中还必须包含用于前发行版级别的服务器之间建立连接所需要的缺省伪证书签署者。可能需要从 DummyServerKeyFile.jks 文件中手动抽取缺省证书,然后将该证书导入到已添加至配置的 trust.p12 文件中。