官方的安卓Demo开启TLS无法连接,报证书错误

错误报告

环境

  • EMQX 版本:
  • 操作系统版本:Android 13

重现此问题的步骤

  1. 从github下载安卓Demo源代码
  2. 编译运行
  3. Host保持broker.emqx.io不变,port改为8883,开启TLS
  4. 点击Connect,提示报错

预期行为

实际行为


功能请求

描述你需要的功能

为什么你需要这个功能


其他

您可以通过 信任自签名的服务器证书 来连接到 broker.emqx.io

请问broker.emqx.io:8883到底是自签名证书还是CA机构证书?
我看Android Demo里是按自签名证书连的,但是使用openssl s_client -connect broker.emqx.io:8883看到的结果是digiCert的机构证书:

CONNECTED(00000006)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = "DigiCert, Inc.", CN = RapidSSL Global TLS RSA4096 SHA256 2022 CA1
verify return:1
depth=0 CN = *.emqx.io
verify return:1
---
Certificate chain
 0 s:/CN=*.emqx.io
   i:/C=US/O=DigiCert, Inc./CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1
 1 s:/C=US/O=DigiCert, Inc./CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1
   i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---

抱歉,之前有更换过证书,但 Demo 中的 ca 文件没有更新。
您可以通过更新 Android Demo 中的 ca 文件来使用 TLS 连接。
相关连接
Public MQTT Broker for IoT Testing
broker.emqx.io-ca.crt