我们的一个队列管理器证书即将到期,有人建议更新它比更换旧证书要便宜得多。以下是我们遵循的以下步骤(通过IBM密钥管理):
创建新证书时,我们选择个人证书申请并选择新证书。这是第一步。我们遵循2步和3步。
这是我的查询,除了选择重新创建之外,我没有设置任何差异。
当我有两个证书作为RenewalCOMODO和oldCOMODO时,队列管理器如何知道哪个是正义的。
如果选择哪个未过期,是否在数据库中过期?
如果我们需要删除旧版本,在添加续订版本后,如何更换证书?
答案 0 :(得分:1)
在获得答案之前,这需要一些背景知识。
当您最初创建CSR时,您实际获得的是公钥/私钥对以及证书签名请求或“CSR”。 CSR包含公钥和请求的属性,例如可分辨名称。 CSR使用您的私钥进行签名,以便任何收件人都可以使用嵌入式公钥来验证CSR和请求的属性是否未被篡改。
不太为人所知的是,CA不一定要应用CSR中提供的所有属性。例如,如果购买的证书是域验证证书,并且CSR包含OU字段的值,则CA将只删除它们,只留下DN和SAN字段以及它们自己的信息。因此,您获得的证书可能具有与原始CSR不同的字段。
从正在使用的证书重新创建CSR时,会再次发生相同的过程,但新CSR会反映CA最初所做的任何更改。仔细检查原始CSR和新生成的CSR通常会显示SAN中的差异或已将电子邮件联系人添加到DN中。然而,从CA的角度来看,这些差异是美化的。
考虑到这一点,让我们再看看问题。
当我有两个证书作为RenewalCOMODO和oldCOMODO时,队列管理器如何知道哪个是正确的?
假设您正在讨论CA在响应原始和续订CSR后提供的工件,QMgr不知道哪个是哪个。您可以在任一个上运行%a
命令,并且假设它们都由同一个CA签名并使用相同的签名者链,则它们都可以工作。
管理员有责任验证是否安装了正确的证书。
如果选择哪个未过期,它是否会在数据库中过期?
没有。每个成功的receive
命令都会保留个人证书的私有部分并替换公共部分。该标签与私有部分相关联,并检查其唯一性,因此您不能(或者至少 ,如果没有错误),可以在同一个KDB中拥有两个副本。
如果我们需要删除旧版本,在添加续订版本之后,它将如何与更换证书不同?
确保您收到正确的证书。始终执行receive
命令或使用GUI检查证书。
其他建议:
runmqakm -cert -details
和20150908_QMName_CSR.arm
。20150908_QMName_CSR_signed.arm
属性更改为指向它。然后,我将旧文件更改为只读,并在QMgr上发出SSLKEYR
。RESET SECURITY TYPE(SSL)
。这是一个相当破坏性的命令,所以尽量不要在QMgr繁忙时发出它。它将要求所有通道关闭,许多重新连接尝试将阻止它快速完成。