以下过程说明如何获取和安装签名证书。
使用 J2SE keytool 命令为上一节中生成的自签名证书生成一个证书签名请求 (Certificate Signing Request, CSR)。
有关 keytool 命令的信息,可以参考
http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/keytool.html
下面是一个示例:
keytool -certreq -keyalg RSA -alias imq -file certreq.csr -keystore /etc/imq/keystore -storepass myStorePassword |
这将生成一个 CSR,它将证书封装到指定的文件中(本例中是文件 certreq.csr )。
使用 CSR 生成或请求签名证书。
您可以通过以下两种方法之一完成:
由众所周知的证书颁发机构 (Certificate Authority, CA) 签署证书,如 Thawte 或 Verisign。有关如何操作的详细信息,请参见 CA 的文档。
使用 SSL 签名软件包亲自对证书进行签名。
最终的签名证书是一个 ASCII 字符序列。如果从 CA 收到签名证书,它可能是电子邮件附件或消息文本。
将签名证书保存到文件中。
以下说明使用示例名 broker.cer 来表示代理证书。
检查 J2SE 是否默认支持您的证书颁发机构。
此命令列出系统密钥库中的根 CA:
keytool -v -list -keystore $JAVA_HOME/lib/security/cacerts
如果您的 CA 已列出,请跳过下一步。
如果 J2SE 不支持您的证书颁发机构,请将 CA 的根证书导入到 Message Queue 密钥库中。
下面是一个示例:
keytool -import -alias ca -file ca.cer -noprompt -trustcacerts -keystore /etc/imq/keystore -storepass myStorePassword
其中 ca.cer 是包含从 CA 获取的根证书的文件。
如果您使用的是 CA 测试证书,则可能需要导入测试 CA 根证书。您的 CA 应提供有关如何获取副本的说明。
将签名证书导入到密钥库中以替换原来的自签名证书。
下面是一个示例:
keytool -import -alias imq -file broker.cer -noprompt -trustcacerts -keystore /etc/imq/keystore -storepass myStorePassword
其中 broker.cer 是包含从 CA 收到的签名证书的文件。
Message Queue 密钥库现在包含一个用于 SSL 连接的签名证书。