2014-10-29 32 views
0

我有一个p12文件。这是由DigiCert p7b生成的。相同的p12证书,不同的机器上不同的信任链,为什么?

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

使用相同的文件,我导入到我的个人商店不同的机器(也是Windows,使用certs mmc)。在这一个我看到不同的路径(在这种情况下,它有一个过期的跳跃)

具体来说,我的证书上方两跳发生分歧。

为什么会发生这种情况?我能做些什么来影响这条链(请记住它与创建不同路径的p12相同)?

我也应该说,我不是这方面的专家。我是一名开发人员,在需要时可以解决这些安全问题。

+0

你可以探索这个p12文件吗?它是否具有颁发CA的证书?您可以使用[XCA](http://sourceforge.net/projects/xca/)来执行此操作。我假定认证链中的某个地方是交叉认证的证书。在你的机器上,你可能已经手动导入了不同的链。在新鲜的windows安装上测试导入这个p12会很好。我敢打赌,证书链将是相同的。 – pepo 2014-10-29 18:21:34

回答

0

关闭此。 对于为什么事情按照他们的方式工作,我仍然有点模糊,但有些事情是有道理的。 似乎.p12是从包含一些中间证书的p7b创建的。其中一个中间产品是坏的。这解释了为什么在一台机器上连锁不好。

仍然不确定我是如何在不同的机器上看到一个好的链条,但我明白为什么我看到了不好的链条。看起来好的连锁店是侥幸,应该预料到坏的连锁店(我原本认为是相反的)。

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

0

我有同样的问题。两个不同的Windows 2008 R2服务器,相同的证书。在标准操作系统补丁之后,其中一台服务器只发送第一层证书信任链(编号为0),所以openssl客户端失败并显示以下消息: 验证错误:num = 21:无法验证第一个证书

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

  • 重新分配证书在IIS
  • 重新导入证书
  • 重新启动IIS

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

相关问题