【问题标题】:openssl, chain of issuer certificatesopenssl,颁发者证书链
【发布时间】:2023-03-30 21:15:01
【问题描述】:

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

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

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

感谢您的帮助!

问候,克里斯

【问题讨论】:

    标签: certificate openssl


    【解决方案1】:

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

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

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

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

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

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

    您永远不应该安装从 Internet 下载的证书作为受信任的 CA,除非您可以验证其有效性直至预安装的证书。

    因此,作为对您问题的回答:除非您有大量时间和耐心,并且愿意比大多数人想要的更多地了解 PKI,否则只需找到一种方法在您的设备上安装正确的根证书系统。

    编辑:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-04
      • 2014-12-03
      • 2018-05-15
      • 1970-01-01
      • 2021-04-13
      • 1970-01-01
      • 2016-04-20
      相关资源
      最近更新 更多