openssl,发行人证书链

时间:2010-11-24 17:52:29

标签: certificate openssl

我的情况: 我正在使用openssl和rsa-certificate进行与其他方进行安全通信的应用程序。 所以我们需要交换证书。 到现在为止还挺好。 主要是合作伙伴证书来自CA签名证书(不是root certi或selfsigend certi)。 在我的笔记本上(debian)我从发行版中获得了我在openssl基础设施中安装的最常见的rootCA证书。所以我可以验证大多数合作伙伴证书,因为我有issuer-root-certis。

我的问题: 在我的主机上我没有预先安装root-certis。所以我需要检查发行人的合作伙伴证书,从互联网上获取,将它放入openssl等我信任的证书......

我的问题: 这是正常的做法吗????如果它是一个更长的链条,它有点广泛,也有点棘手。

感谢您的帮助!

的问候,克里斯

1 个答案:

答案 0 :(得分:1)

预先安装根证书的目的是因为它们充当信任链的顶端(实际上它更像是一棵树或树林......)。

通过预先安装它们,我们假设(尽管我们都知道人们对于假设的说法)它们没有受到损害并且可以用于验证任何其他证书。虽然可以通过例如它们来妥协它们。攻击FTP服务器并弄乱Linux发行版的DVD映像,这不是很容易,并且不会长时间不被发现,也不能针对特定的组织。

在您的情况下,您应该执行以下操作之一:

  • 使用系统供应商提供的软件包在系统中安装根证书。为了获得相对较高的置信度,您应该从两个不同的位置下载相同的包,最好是通过不同的ISP(例如来自家庭和工作)以及两个或三个不同的镜像。然后您可以比较下载的文件,这些文件应该相同。如果您的系统供应商在线提供其包文件的校验和,您也应该验证它们。

  • 通过USB驱动器从受信任系统获取根证书并将其传输到您的系统。您应该事先检查可信系统的安全性。使用官方安装磁盘上的原始Linux安装将是一个很好的来源。

  • 安全地安装至少一个根证书(例如,通过USB驱动器方法),然后 尝试跟踪合作伙伴的颁发者证书。对于每个颁发者证书,您应手动验证并安装信任链上的任何其他证书,直到您获得预先安装的根证书。这可能是一个非常繁琐的过程,您会感到沮丧,因为大多数CA会出于各种原因使用多个证书,从减少潜在危害的影响到营销和业务原因。

除非您可以根据预先安装的证书验证其有效性,否则您不应将从Internet下载的证书安装为受信任的CA.

作为对您问题的回答:除非您有足够的时间和耐心,并且愿意学习更多关于PKI的知识,而不是大多数人想要的,只需找到一种方法来安装适当的根证书。系统

编辑:

我忘了提及某些操作系统供应商(例如SuSE)在其包管理系统中预装了自己的证书。在这种情况下,使用该软件包管理系统从官方存储库下载软件包应该足够安全,以便您无需担心上述任何内容以确保根证书软件包的有效性。