是否可以将多个CA证书合并到一个CA文件中



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

示例客户:

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

请注意,CA文件也包含中间CA。请参阅我提到这一点的另一篇帖子。

man页面:

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

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

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

虽然它通常是有效的,但将中间证书放在信任锚点存储中并没有帮助。如果您要续订中间体(这种情况比根目录更频繁(,则需要在所有客户端中替换中间体。在你的情况下,这可能不是一个问题,但在现实世界中,这是一个令人头疼的问题。此外,根据所使用的库以及开发人员编写客户端的方式,如果将中间体用作信任锚,则可能不会检查中间体的吊销。

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

最新更新