我正在尝试将证书链导入 Firefox 31.3 ESR。原始链是一个 p7b 文件,我已使用 OpenSSL 将其转换为 PEM 格式。curl
顺利地接受了该链并建立了连接。但是 Firefox 只从文件中导入了第一个证书。其余的都被忽略了。
我是否必须导入每一个? 问题链可在此处找到:http://www.siemens.com/pki/siemens_ca_certificates.p7b
我采用的愚蠢解决方法是按照说明拆分 PEM 文件这里并导入每一个证书 :-(
答案1
那不是一个链;它是 CA 证书的集合,包含三个根证书(其中只有一个看起来“有趣”),一堆下属 CA 和两个桥接证书(到 Cybertrust 的版本)。正如人们可以从 URL 推断的那样。
HTTPS(和 SSL/TLS)服务器应该提供完整的证书链,但不一定包括根证书,并且永远不需要在 Firefox 中安装任何非根证书作为受信任证书。如果您查看 Firefox 提供的商店(以及 Windows、Java 和其他商店),您会发现大多数受信任的证书都是根证书,尽管也有一些例外。(另一方面,明确不被信任通常不是根。)桥接证书主要用于服务器与客户端一起使用,不具有所需的根,通常是针对旧客户端的新根。
因此,安装三个根证书就足够了,而且很可能只安装一个“Trust Center RootCA v2.0”。另外或许如果您的服务器使用“Internet CA v1.0”到“Baltimore Cybertrust”的桥梁(在“服务器”选项卡中而不是“授权机构”),因为它似乎没有根。
是的,每个工具都必须单独安装,至少在使用 Firefox 时是这样。我相信 NSS 有命令行/独立实用程序,它是 Mozilla 模块,负责加密和 SSL/TLS,Firefox 等浏览器也使用这个模块。我预计这些工具可能可以做一些基本的事情,比如添加证书。它们不包含在 Windows 的 Firefox 安装中;我不知道其他平台的情况。NSS 是开源的,所以你可以自己下载并编译它,但我敢打赌,这比单击几次 GUI 要费力得多。