保护 JMS 客户机和 JMS 资源适配器连接
有两种方法可用来为 Thin Client for JMS with WebSphere® Application Server和 Resource Adapter for JMS with WebSphere Application Server配置安全套接字层 (SSL)。全局配置方法会影响进程中的所有独立出站连接,而专用方法仅适用于进程中的客户机或资源适配器连接。
关于此任务
Thin Client for JMS with WebSphere Application Server和 Resource Adapter for JMS with WebSphere Application Server使用所有受支持 JRE 为进行安全套接字层 (SSL) 连接而提供的标准 Java™ 安全套接字扩展 (JSSE)。有关 JSSE 的信息,请参阅 JSSE 文档。
全局配置方法使用 JRE 全局属性并影响应用程序启动的所有出站 SSL 连接。要让配置为使用 SSL 连接的 JRE 连接至 WebSphere Application Server,通常必须设置以下
javax.net.ssl 系统属性:
-Djavax.net.ssl.keyStore=key.p12
-Djavax.net.ssl.keyStorePassword={xor}Lz4sLCgwLTs=
-Djavax.net.ssl.trustStore=trust.p12
-Djavax.net.ssl.trustStorePassword={xor}PSo4LSov
可使用专用配置方法来指定特定于 Thin Client for JMS with WebSphere Application Server 或 Resource Adapter for JMS with WebSphere Application Server 连接的安全性设置。可配置 com.ibm.ws.sib.client.ssl.properties 系统属性以指定 IBM SSL 属性文件的位置。如果未配置此系统属性,那么会改为尝试从类路径装入属性文件。
如下所示,客户机获取它用于任何特定 SSL 属性的值:
- 如果该属性的值是在包含 IBM SSL 属性的属性文件中定义的,那么客户机使用此值。
- 如果属性文件中没有对应该属性的值,并且关联 JRE 系统属性中有适合属性,那么客户机将使用此值。
- 如果没有适合的 javax.net.ssl 属性,那么客户机会使用缺省值。
IBM SSL 属性 | JRE 全局属性 | 缺省值 |
---|---|---|
com.ibm.ssl.keyStoreType | javax.net.ssl.keyStoreType | JKS |
com.ibm.ssl.keyStore | javax.net.ssl.keyStore | 无 |
com.ibm.ssl.keyManager | javax.net.ssl.keyStoreProvider | IbmX509 |
com.ibm.ssl.trustManager | javax.net.ssl.trustStoreProvider | IbmX509 |
com.ibm.ssl.keyStorePassword | javax.net.ssl.keyStorePassword | 无 |
com.ibm.ssl.protocol | 无 | SSL |
com.ibm.ssl.contextProvider | 无 | IBMJSSE2 |
com.ibm.ws.sib.jsseProvider | 无 | com.ibm.jsse2.IBMJSSEProvider2 |
com.ibm.ssl.trustStore | javax.net.ssl.trustStore | 无 |
com.ibm.ssl.trustStoreType | javax.net.ssl.trustStoreType | JKS |
com.ibm.ssl.trustStorePassword | javax.net.ssl.trustStorePassword | 无 |
例如,可创建包含下列属性和值的
ssl.properties 文件:
com.ibm.ssl.keyStore=/thinclient/key.p12
com.ibm.ssl.keyStoreType=PKCS12
com.ibm.ssl.keyStorePassword=WebAS
com.ibm.ssl.trustStore=/thinclient/trust.p12
com.ibm.ssl.trustStoreType=PKCS12
com.ibm.ssl.trustStorePassword=WebAS
可使用 WebSphere Application Server bin 目录中的 PropFilePasswordEncoder 工具对存储在纯文本属性文件中的密码进行编码。有关更多信息,请参阅在文件中对密码进行编码。
注意:
- SUN JRE 中使用 Thin Client for JMS with WebSphere Application Server的 SSL 连接不能使用缺省 WebSphere Application Server PKCS12 密钥和信任库。如果通过 SUN JRE 安全地运行客户机,那么必须先使用 IBM 软件开发包 (SDK) 从信任库抽取证书。然后可将这些证书导入到 Sun JRE 可正确识别的密钥库(如 JKS 密钥库)中。
- WebSphere Application Server 附带的 IBM JRE 不支持 SSL 连接 - 必须使用非 WebSphere Application Server 安装的 JRE。