下面使用 iKeyman V7.0.3.28 来逐步地创建一个自签名的证书以便分发到服务器。
- 从命令行窗口中(例如在 Microsoft® Windows® 命令提示符中)运行 iKeyman。IBM Key Management 窗口将打开。
- 单击 New > Self-Signed Certificate 并按照提示操作。
- 通过从下拉列表中选择 Personal Certificates(请参见图 1)来获取新的自签名证书的公开位,其中同时包含私有和公开部分。
图 1. Personal Certificates 视图
- 选择您新创建的证书。
- 单击 Extract Certificate,如图 1 所示,以打开 Extract Certificate to a File 窗口。
- 选择数据类型,例如 Based64,然后单击 OK。证书的公开部分将创建为 .arm 文件(请参见图 2)。
图 2. 提取公开部分并将其存储在文件中
- 将该 .arm 文件分发到正在运行 WebSphere Message Broker 的服务器。
- 将该 .arm 文件导入服务器的信任存储库:
- 将 mikescert.arm 文件存储在 server/recipient 计算机上。
- 在 server/recipient 计算机上,运行 iKeyman 以启动 IBM Key Management 工具。
- 从下拉列表中选择 Signer Certificates,如图 3 所示。
图 3. 选择 Signer Certificate 视图
- 单击 Add 以从文件导入公钥。
- 从存储 .arm 文件的位置选择 mikescert.arm,如图 4 所示,然后单击 OK。
图 4. 选择要导入的 ARM 文件
- 为导入的证书提供名称,如图 5 所示,然后单击 OK。
图 5. 命名公开证书
- 要检查该信任存储库,可以运行 keytool 实用工具以显示内容。从命令行输入
keytool -list -keystore c:\argo\security\server.keystore –v
。清单 1 显示了此命令的典型输出。
清单 1. keytool 命令的典型输出Alias name: mikespublickey Creation date: 06-Mar-2008 Entry type: trustedCertEntry Owner: CN=KDHMT99.hursley.ibm.com, C=GB Issuer: CN=KDHMT99.hursley.ibm.com, C=GB Serial number: 47cfeaf6 Valid from: 06/03/08 13:00 until: 06/03/09 13:00 Certificate fingerprints: MD5: 36:52:BF:C0:E4:67:6F:E2:3F:1E:00:91:5D:0B:8A:54 SHA1: F4:50:21:6B:16:60:A3:3B:ED:56:59:AE:03:1A:E6:5D:52:DC:57:66
- 现在您已经填充了信任存储库和密钥存储库,下面可以运行
mqsichangeproperties
命令(并将对象名称设置为ComIbmJVMManager
)来为 WebSphere Message Broker 定义密钥存储库。 - 为 WebSphere Message Broker(针对所有执行组)设置密钥存储库属性,或在 WebSphere Message Broker(此示例使用了 2008年 5 月发布的 WebSphere Message Broker V6.1 GA2 版本)中为某个单独的执行组设置密钥存储库属性。清单 2 为名为 test_brk 的 WebSphere Message Broker 和名为 testexecutiongroupname 的执行组设置密钥存储库。从 WebSphere Message Broker 控制台中使用下面的命令。
清单 2. 为执行组定义密钥存储库mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n keystoreFile -v [Location of server keystore] mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n keystoreType -v JKS mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n keystorePass -v testexecutiongroupname Keystore::password
有关 mqsichangeproperties 命令的更多信息,请访问 WebSphere Message Broker 信息中心(请参阅参考资料)。
- 下面为 WebSphere Message Broker 的执行组定义信任存储库。对于此定义,请指定
truststoreFile
、truststoreType
和truststorePass
并附带–n
参数,如清单 3 所示。
清单 3. 定义执行组的信任存储库mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n truststoreFile -v [Location of server truststore] mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n truststoreType -v JKS mqsichangeproperties test_brk -e testexecutiongroupname -o ComIbmJVMManager -n truststorePass -v testexecutiongroupname Truststore::password