相同的p12证书,不同机器上的不同信任链,为什么



我有一个p12文件。这是由DigiCert p7b生成的。

当我在一台机器上(windows服务器,使用证书mmc)将其导入我的个人存储时,当我查看路径时,它会显示一个链。

使用同一个文件,我将导入到不同机器上的个人存储中(也是windows,使用certs-mmc)。在这条路上,我看到了一条不同的路径(在这种情况下,它有一个过期的跃点)

具体来说,超过我的证书两跳,就会出现分歧。

为什么会发生这种情况?我能做些什么来影响这条链吗(记住它是同一个p12,正在创建不同的路径)?

我还应该说,我不是这方面的专家。我是一个开发人员,在需要时会混淆这些安全问题。

我遇到了同样的问题。两个不同的windows 2008 r2服务器,相同的证书。在标准操作系统修补后,其中一台服务器只发送了证书信任链的第一层(编号0),因此openssl客户端出现故障,并显示以下消息:验证错误:num=21:无法验证第一个证书

不知道根本原因是什么。我试过

  • 在IIS中重新分配证书
  • 再进口证书
  • 重新启动IIS

没有成功。最终帮助解决问题的是服务器重新启动。。。

结束这一切。我仍然有点不明白为什么事情会这样发展,但有些事情是有道理的。看起来.p12是由p7b创建的,其中包含一些中间证书。其中一个中间体是坏的。这就解释了为什么一台机器的链条坏了。

仍然不确定我是如何在不同的机器上看到一条好的链条的,但我明白为什么我看到了坏的。好的链条似乎是侥幸,坏的链条应该是意料之中的(我最初的想法正好相反)。

我在没有中间体的情况下创建了一个新的.p12。清理了服务用户和本地机器商店中以前从第一个.p12导入的所有不良中间体。现在,所有机器上都有相同的有效链,一切似乎都如预期一样工作。

最新更新