我尝试连接远程 MQTTS 服务器(端口 8883),但不是我使用的
mosquitto_pub
.
mosquitto_pub -h example.com -p 8883 -t "TOPIC" -m "message" -u "USER" -P "PASSWORD" --insecure
我在 Wireshark 中看到客户端(mosquitto_pub)重置了通信,因为
Alert (Level: Fatal, Description: Unknown CA)
我不在乎,我想连接到该服务器并信任它。
我尝试将服务器的 CA 添加到我的信任中。
echo | openssl s_client -showcerts -connect example.com:8883 | openssl x509 -outform PEM > server-cert.pem
sudo cp server-cert.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates
但是问题是一样的。
我如何告诉
mosquitto_pub
我信任并且不检查?
您提供的命令链只会提取服务器证书,而不是链(如果存在)
如果
echo | openssl s_client -showcerts -connect example.com:8883
显示超过 1 个 -----BEGIN CERTIFICATE----
标头,那么您需要从输出中手动提取它们,然后将它们全部放入一个文件中。
目的是获取证书列表,其中列表中的最后一个证书具有相同的 CN 和颁发者(自签名),或者颁发者是已存在于操作系统受信任存储中的公共 CA 证书。