emqx启用双向ssl/tls安全认证后,mqttx仍然连接不上

开启「验证客户端证书」开关后,EMQX 会在客户端连接使用证书时进行验证。
但如果客户端没有证书,会根据开关「没有证书则 SSL 失败」的状态,有不同的行为。

  • 验证客户端证书=true, 没有证书则SSL失败=true
    • 客户端使用证书连接,并且证书验证成功,则 TLS 握手成功。继续连接流程
    • 客户端无证书,TLS 握手失败。客户端不能连接。
  • 验证客户端证书=true, 没有证书则SSL失败=false
    • 客户端使用证书连接,并且证书验证成功,则 TLS 握手成功。继续连接流程
    • 客户端无证书,TLS 握手成功。继续连接流程
  • 验证客户端证书=false,此时 有证书则SSL失败 选项只能为 false
    • 此时无论客户端是否使用证书进行连接。都将握手成功。