【问题标题】:MQTT Mosquitto SSL/TLS cannot connect with CA.der but can with CA.pemMQTT Mosquitto SSL/TLS 无法与 CA.der 连接,但可以与 CA.pem 连接
【发布时间】:2023-04-08 18:30:01
【问题描述】:

我有一个简单的问题,希望有一个简单的答案!我可以使用.pem 格式的证书颁发机构连接和发布/订阅我的代理。例如命令:

mosquitto_pub --cafile CA.pem -h www.example.com -p 8883 -t test -u "usr" -p "pw" 

成功。但是,当我将 CA.pem 转换为 CA.der 使用

openssl x509 -in CA.pem -out CA.der -outform DER 

并使用CA.der 作为--cafile 我得到一个错误:

Unable to connect (A TLS error occurred.).

我相信转换是正确的,因为如果我使用openssl x509CA.der 转换回CA2.pem,我可以成功连接。我的猜测是我必须在我的mosquitto.conf 文件中设置一些东西以允许*.der 或类似的东西,但在文档或在线任何地方都找不到解决这个问题的任何东西。我需要使用.der 格式,因为我正在TI CC3200 开发板上设置MQTT 客户端,并且TI 的API 需要.der 格式的所有证书。

一些额外信息以备不时之需

我通过 CertBot 获得了我的域的 CA,证书链如下所示:

depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = <www.example.com>
verify return:1

mosquitto.conf

allow_anonymous false
password_file /etc/mosquitto/passwd

listener 1883 localhost

listener 8883
certfile /etc/letsencrypt/live/<www.example.com>/cert.pem
cafile /etc/letsencrypt/live/<www.example.com>/chain.pem
keyfile /etc/letsencrypt/live/<www.example.com>/privkey.pem

【问题讨论】:

    标签: ssl openssl mqtt tls1.2 mosquitto


    【解决方案1】:

    不,mosquitto 只支持提供 PEM 格式的证书,不能使用 DER 文件。

    毫无疑问,您必须在代理端使用与客户端相同的证书存储格式 (PEM/DER)。

    【讨论】:

      猜你喜欢
      • 2022-11-10
      • 1970-01-01
      • 2020-11-07
      • 2013-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      相关资源
      最近更新 更多