paho mqtt python从服务器发布带有TLS ca_certs的single



我正在尝试连接到"mqtts://broker.emqx.io:8883"使用paho-mqt,但得到无效证书错误。

tls = { 'ca_certs': "certificate.pem", 'insecure': False, 'tls_version': ssl.PROTOCOL_TLS_CLIENT }
publish.single( topic="testtopic", payload=payload, hostname="broker.emqx.io", auth={}, port=8883, tls=tls, protocol=mqtt.MQTTv311 )

我不希望它不安全,希望从服务器获取证书,而不是手动提供证书文件。如果有人能引导我朝着正确的方向前进,那将是一个很大的帮助。

ca_certs文件不应该来自服务器,它应该包含对代理使用的证书进行签名的证书颁发机构链的证书。

因此,在这种情况下,它应该持有1来自的证书链

  • Sectigo RSA域验证安全服务器CA
  • USERTrust RSA证书颁发机构
  • AAA证书服务

您需要提供包含所有受信任的公共CA证书的完整链或文件。

1在openssl s_client中找到请参见此处

最新更新