运行密钥工具实用程序 (imqkeytool) 为代理生成自签名证书。(在 UNIX® 系统上,您可能需要以超级用户 (root) 身份运行该实用程序,才能获取创建密钥库的权限。)可以对 ssljms、ssladmin 或 cluster 连接服务使用相同的证书。
imqkeytool -broker
密钥工具实用程序会提示您输入密钥库密码:
Generating keystore for the broker ... Enter keystore password:
然后,实用程序将提示您输入标识此证书所属的代理的信息。您提供的信息将构成 X.500 标识名。表 7–5 显示了一些提示和为每个提示提供的值。值区分大小写,并且可以包含空格。
表 7–5 自签名证书所需的标识名信息
提示 |
X.500 属性 |
描述 |
示例 |
---|---|---|---|
您的姓名是什么? |
commonName (CN) |
运行代理的服务器的全限定名称 |
mqserver.sun.com |
您所在部门的名称是什么? |
organizationalUnit (OU) |
部门或分部的名称 |
purchasing |
您的工作单位的名称是什么? |
organizationName (ON) |
大型工作单位的名称,如公司或政府机构 |
My Company, Inc. |
您所在城市或地区的名称是什么? |
localityName (L) |
城市或地区的名称 |
San Francisco |
您所在州或省的名称是什么? |
stateName (ST) |
州或省的全称,不要使用缩写 |
California |
此单位的两字母国家/地区代码是什么? |
country (C) |
标准两字母国家/地区代码 |
US |
输入信息后,密钥工具实用程序将显示这些信息以便于您确认。例如:
Is CN=mqserver.sun.com, OU=purchasing, ON=My Company, Inc., L=San Francisco, ST=California, C=US correct?
要接受当前值并继续,请输入 yes;要重新输入值,请接受默认值或输入 no。确认后,实用程序将生成密钥对而暂停其他操作。
接下来,实用程序要求您输入密码以锁定密钥对(密钥密码)。按 Return 键响应此提示,以使用同一密码作为密钥密码和密钥库密码。
请记住您指定的密码。启动代理时必须提供此密码,代理才能打开密钥库。可以将密钥库密码存储到密码文件中(请参见密码文件)。
密钥工具实用程序生成一个自签名证书,并将其放入 Message Queue 的密钥库。密钥库所在的目录因操作系统而异,如附录 A, Message QueueTM 数据在特定平台上的位置 中所示。
以下是适用于基于 SSL 连接服务的 Message Queue 密钥库的可配置属性:
imq.keystore.file.dirpath:包含密钥库文件的目录的路径。有关默认值的信息,请参见附录 A, Message QueueTM 数据在特定平台上的位置。
有时候您可能需要重新生成密钥对才能解决某些问题:例如,如果您在启动代理时忘记了密钥库密码或基于 SSL 的服务初始化失败,并收到了异常:
java.security.UnrecoverableKeyException:Cannot recover key
(出现异常的原因可能是因为您提供的密钥密码与您生成自签名证书时的密钥库密码不同。)
删除代理的密钥库。有关密钥库的位置,请参见附录 A, Message QueueTM 数据在特定平台上的位置。
再次运行 imqkeytool 生成新密钥对,如上所述。