arr*_*man 1 ssl certificate mq ibm-mq
比方说,我在 host1 中使用了一个队列管理器 QMGR1 来创建一个 CSR 并获得一个标记为 ibmwebspheremqqmgr1 的 CA 验证证书。我可以在另一台主机 host2 中为名称相同(即 QMGR1)管理的队列使用加载相同的证书(及其根链和中间链)吗?换句话说,当我们使用 rumqakm 来“接收”证书时,是否需要存在 certreq?我们可以“添加”一个证书(就像我们做链一样)?如果问题不清楚,请提问,我可以提供更多详细信息。在我的情况下,host2 是生产。host1 是一个 QA 环境,我们在其中测试连接性。谢谢。
更新问题来自评论 26DEC16
特定于 MQ,我相信我必须先在 host2 上加载 CSR,然后再次接收 CER,对吗?我想知道如何在不创建 CSR 的情况下“加载”它。我看到一个在 runmqakm 中重新创建它的选项,以前从未使用过,并且不确定这是否有效。
TL;博士:是的。
当您使用 IBM GSKit(例如runmqakm
)创建 CSR 时,结果是一个未签名的证书和 CSR 文件本身。CSR 以加密方式绑定到保留在.rdb
密钥库文件中的未签名证书。此时无法将签名的 CSR 接收到任何密钥库中。
当您收到签名的 CSR 时,它会与未决的未签名证书组合并移动到.kbd
密钥库的文件中。此时,它是具有您指定的标签名称(ibmwebspheremqqmgr1
在本例中)和您指定的 DN的有效个人证书。
完成后,您将获得可用的个人证书。如果您想在另一个 QMgr 上使用它,您需要通过以下两种方式之一将该证书发送给另一个 QMgr:
如果您复制了整个密钥库并且另一个 QMgr 也被命名,QMGR1
那么您可以立即使用它们。如果其他QMGR具有不同的名称,那么你就必须将证书重命名为其它的东西ibmwebspheremqqmgr1
,还是现代的QMGR的QMGR的设置CERTLABL
属性ibmwebspheremqqmgr1
。一般情况下,你想要的证书标签用它来反映QMGR的名称,以便一个名为QMGRQMGR2
用CERTLABL
的ibmwebspheremqqmgr1
是不推荐。
如果导入证书,则可以在导入命令期间设置标签。
请记住,标签和专有名称是两个完全不同且不相关的事物。专有名称是 CA 验证和签署的值,并以加密方式绑定到证书中的密钥。这是远程连接伙伴决定是否信任的事情。
标签是本地 QMgr 或客户端如何找到自己的证书。假设您创建了两个个人证书,QMgr 需要知道要发送哪一个。它通过将证书的标签ibmwebspheremq[qmgr name in lower case]
与 QMgr 的CERTLABL
属性的预期值相匹配或针对 QMgr 的属性(如果它不为空)来找到正确的。
这就是为什么可以使用 GSKit 命令轻松更改证书标签,但可分辨名称是不可变的。
考虑到这一点,请注意外部和许多内部 CA 将期望证书的证书通用名称包含将使用证书的完全限定主机名。HTTPS 客户端在连接时检查证书 CN 是否与主机名匹配。对于 MQ 连接,情况并非如此。您可以将 CA 将签署的任何内容放入 CN 中,并在任意名称的 QMgr 上使用它。所以你的证书可以有CN=QMGR1
,QMgr 可以继续存在mqhost.yourcompany.com
,MQ 喜欢它就好了。但是,使用新 MQ REST API 的客户端不会! 对于希望使用新的 MQ REST API 的人来说,这是一个重要的区别。
最后,请注意,最佳实践是在将要使用的地方生成证书,使用文件系统权限保护它们,将它们保存在本地存储中,并且永远不要从该位置复制或移动它们。公钥/私钥加密的发明是为了解决安全交换私钥的非常困难的问题。如果个人证书被复制,首先就违背了使用它们的目的。
各种商业 PKI 包(即 IBM Tivoli Key Lifecycle Manager、Venafi 等)都使用 FIPS 认证的算法解决了这个问题,这些算法不在磁盘上存储密钥或加密原语,在释放内存空间之前安全地擦除内存空间,一般来说小心不要让密钥在传输、磁盘或内存中不受保护。如果您必须复制个人证书,请使用专为此目的设计的真实 PKI 包(如果公司有)。否则,将它们导出到一个.p12
非常长且随机的密码,并避免使用电子邮件、FTP 或其他不安全的方式来复制文件。
归档时间: |
|
查看次数: |
573 次 |
最近记录: |