技术开发 频道

Web Services Security的签名流

创建自签名证书

下面使用 iKeyman V7.0.3.28 来逐步地创建一个自签名的证书以便分发到服务器。

  1. 从命令行窗口中(例如在 Microsoft® Windows® 命令提示符中)运行 iKeyman。IBM Key Management 窗口将打开。
  2. 单击 New > Self-Signed Certificate 并按照提示操作。
  3. 通过从下拉列表中选择 Personal Certificates(请参见图 1)来获取新的自签名证书的公开位,其中同时包含私有和公开部分。

    图 1. Personal Certificates 视图
    Personal Certificates 视图

     
  4. 选择您新创建的证书。
  5. 单击 Extract Certificate,如图 1 所示,以打开 Extract Certificate to a File 窗口。
  6. 选择数据类型,例如 Based64,然后单击 OK。证书的公开部分将创建为 .arm 文件(请参见图 2)。

    图 2. 提取公开部分并将其存储在文件中
    提取公开部分并将其存储在文件中

     
  7. 将该 .arm 文件分发到正在运行 WebSphere Message Broker 的服务器。
  8. 将该 .arm 文件导入服务器的信任存储库:
    1. 将 mikescert.arm 文件存储在 server/recipient 计算机上。
    2. 在 server/recipient 计算机上,运行 iKeyman 以启动 IBM Key Management 工具。
    3. 从下拉列表中选择 Signer Certificates,如图 3 所示。

      图 3. 选择 Signer Certificate 视图
      选择 Signer Certificate 视图

       
    4. 单击 Add 以从文件导入公钥。
    5. 从存储 .arm 文件的位置选择 mikescert.arm,如图 4 所示,然后单击 OK

      图 4. 选择要导入的 ARM 文件
      选择要导入的 ARM 文件

       
    6. 为导入的证书提供名称,如图 5 所示,然后单击 OK

      图 5. 命名公开证书
      命名公开证书

       
  9. 要检查该信任存储库,可以运行 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
    

     
  10. 现在您已经填充了信任存储库和密钥存储库,下面可以运行 mqsichangeproperties 命令(并将对象名称设置为 ComIbmJVMManager)来为 WebSphere Message Broker 定义密钥存储库。
  11. 为 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 信息中心(请参阅参考资料)。

  12. 下面为 WebSphere Message Broker 的执行组定义信任存储库。对于此定义,请指定 truststoreFiletruststoreTypetruststorePass 并附带 –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
    

     
0
相关文章