MQTT Mosquitto SSL/TLS无法连接CA.der,但可以使用CA.pem
问题描述:
我有一个简单的问题,我希望有一个简单的答案!我可以使用.pem
格式的证书颁发机构连接并发布/订阅我的经纪人。例如,命令:MQTT Mosquitto SSL/TLS无法连接CA.der,但可以使用CA.pem
mosquitto_pub --cafile CA.pem -h www.example.com -p 8883 -t test -u "usr" -p "pw"
成功。然而,当我使用
openssl x509 -in CA.pem -out CA.der -outform DER
,并使用CA.der
为--cafile
转换CA.pem
到CA.der
我得到一个错误:
Unable to connect (A TLS error occurred.).
我相信转化是正确的,因为如果我转换CA.der
回用openssl x509
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
答
不,蚊子只支持以PEM格式提供证书,你不能使用DER文件。
没有什么可说的,您必须在代理端使用与客户端相同的证书存储格式(PEM/DER)。