【问题标题】:Is it possible to combine multiple CA certificates into a single CA file?是否可以将多个 CA 证书合并到一个 CA 文件中?
【发布时间】:2021-09-11 07:23:04
【问题描述】:

我有两个 MQTT 服务器环境:PROD 和 PILOT。这些环境中的每一个都有自己独立的证书颁发机构。我有一个客户端可以使用任一 CA 证书连接到每个环境。是否可以将这两个 CA 文件合并为一个文件,这样我在更改环境时无需在客户端更改 CA 文件?

示例客户端:

mosquitto_sub -h server.com  --cafile /path/to/ca.file

请注意,CA 文件也包含中间 CA。请参考我提到的another post

【问题讨论】:

    标签: ssl-certificate pki ca certificate-authority


    【解决方案1】:

    来自man 页面:

    --cafile
    定义包含受信任的 PEM 编码 CA 证书的文件的路径。用于启用 SSL 通信。

    注意复数形式的证书:-)

    您的文件应该只包含信任锚 - 根 CA 证书。链中的其他证书应由服务器发送。您应该考虑重新配置您的服务器,以便按照 TLS 协议发送整个链(阅读 certificate_list here)。

    虽然它通常有效,但将中间证书放在信任锚存储中并无济于事。如果您要更新中间体(这比根更频繁地发生),那么您将需要在 all 您的客户端中替换中间体。在您的情况下可能不是问题,但在现实世界中这是一个令人头疼的问题。此外,根据使用的库以及开发人员编写客户端的方式,如果将中间体用作信任锚,它可能不会检查中间体的撤销。

    --cafile 指向的文件应该是 PEM 编码的根 CA 证书的串联。

    【讨论】:

    • "注意复数形式的证书 :-)" 这意味着它可以有多个 CA 证书对吗?所以我可以将 PROD 和 PILOT 证书保存在同一个 CA 文件中,对吗?并且您建议将中间证书移动到服务器。请确认
    • 当然。这些文件背后的想法是存储您在该应用程序中信任的所有根 CA 证书(其他应用程序允许您指向证书在单个文件中的目录)。然后,您应该将中间体移动到服务器。通常,这是与服务器证书相同的文件 - 再次作为 PEM,服务器证书第一个和中间按顺序连接。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-21
    • 2015-04-01
    • 2018-04-06
    • 2020-10-27
    • 2022-10-03
    • 2011-02-15
    • 2019-11-15
    相关资源
    最近更新 更多