在 SSL 中进行安全安装以检索客户机签署者

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

最佳实践 最佳实践: 请勿在生产环境中使用本主题中所引用的伪密钥库文件和信任库文件。这些文件包含相同的证书并且到处使用,这样不安全。此外,请更改密钥库和信任库的密码,以便不使用缺省密码 WebASbprac

缺省情况下,客户机不会信任来自 WebSphere Application Server 环境中的其他概要文件的服务器。也就是说,它们不包含这些服务器的根签署者。但是,可以执行以下操作来帮助建立这种信任:

  1. 启用签署者交换提示,以在尝试连接期间接受签署者。
  2. 在建立连接之前,运行 retrieveSigners 实用程序以从该系统中下载签署者。
  3. 将服务器概要文件的 /config/cells/<cell_name>/nodes/<node_name> 目录中的 trust.p12 文件复制到客户机的 /etc 目录中。如果新的文件名和密码不同,那么更新 SSL 配置以反映它们。复制上述文件时将为客户机提供 trust.p12(该文件包含该单元中所有服务器的签署者)。另外,对于仍在使用 DummyClientTrustFile.jks 文件的后备级别客户机可能也需要执行此步骤。在这种情况下,可能需要更改 sas.client.propssoap.client.props 文件,以反映新的信任库、信任库密码和类型 (PKCS12)。
要让客户机执行频带内签署者交换,必须将 ssl.client.props 文件指定为 SSL 配置中的 com.ibm.SSL.ConfigURL 属性。对于受管客户机将自动执行此操作。在连接期间,签署者被指定为频带内;而在运行时被指定为频带外。还必须将 com.ibm.ssl.enableSignerExchangePrompt 属性设置为 true
提示: 可以配置一个证书到期监视器来替换即将到期的服务器证书。有关客户机可以如何从配置中检索新签署者的更多信息,请参阅SSL 中的证书到期监视

使用签署者交换提示来从客户机中检索签署者

当客户机中还没有签署者连接至某一进程时,可以启用签署者交换提示。对于每个唯一证书和每个节点,都会显示一次签署者交换提示。在添加节点的签署者之后,该签署者会保留在客户机信任库中。以下样本代码显示用于从客户机中检索签署者的签署者交换提示:[AIX Solaris HP-UX Linux Windows][z/OS]
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]
/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]
/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 文件中的任何客户机密钥库。
以下样本代码显示 Deployment Manager 环境中的 retrieveSigners 实用程序。[AIX Solaris HP-UX Linux Windows][z/OS]
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]
/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 摘要,因此在完成该操作之后就可以验证该摘要。

从前发行版中获取客户机和服务器的签署者

注: 当使用 V7.0 之前的发行版的客户机连接至当前发行版时,该客户机必须获取签署者才能成功地完成握手。对于使用 WebSphere Application Server 的先前发行版的客户机,将无法像使用当前发行版的客户机那么容易获得签署者。可以将 Deployment Manager 公共信任库复制到后备级别客户机或服务器中,然后将 SSL 配置重新配置为直接引用该信任库。这个类型为 PKCS12 的公共信任库位于配置库中的 /config/cells/<cell_name>/nodes/<node_name> 目录中,它的缺省密码为 WebAS

要在单个 trust.p12 密钥库文件中收集某个单元的所有签署者,请完成以下步骤:

  1. 复制服务器上的 trust.p12 密钥库文件,然后在客户机上复制它。客户机直接从用于指定前发行版的 SSL 属性的 sas.client.propssoap.client.props 文件中引用该文件。
  2. 更改客户机端密钥库密码,使它跟与已复制的密钥库相关联的缺省单元名相匹配。
  3. 在客户机配置中,将 trust.p12 文件的缺省密钥库类型更改为 PKCS12

下面两个代码样本显示一个视图在更改前后的情况。

先前发行版的 sas.client.props 的缺省 SSL 配置[AIX Solaris HP-UX Linux Windows][z/OS]
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]
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]
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][z/OS]
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]
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]
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
提示: 可以运行 /bin 目录中的 PropsFilePasswordEncoder 脚本对密码编码。

还可以在 soap.client.props 文件中进行这些更改,并指定 key.p12 文件来替代 DummyClientKeyFile.jks 文件。但是,还必须更改 keyStorePassword 和 keyStoreType 值,以使它们与缺省 key.p12 文件中的相应值相匹配。

WebSphere Application Server V7.0 之前的发行版中,必须编辑服务器上的 SSL 配置以替换公共信任库。服务器使用的 trust.p12 文件中还必须包含用于前发行版级别的服务器之间建立连接所需要的缺省伪证书签署者。可能需要从 DummyServerKeyFile.jks 文件中手动抽取缺省证书,然后将该证书导入到已添加至配置的 trust.p12 文件中。


指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=csec_sslsecinstallclientsignret
文件名:csec_sslsecinstallclientsignret.html