emqx tls 8883鉴权报这个Error: unable to get issuer certificate

使用emqx tls8883鉴权的时候报这个错Error: unable to get issuer certificate 但是使用MQTT.fx可以鉴权成功 这是什么原因,使用中间证书签发的服务器证书 这个是怎么认证的啊 由中间证书1签发的服务器证书,将服务器证书配置到listener.ssl.external.certfile中,然后携带中间证书1鉴权就会失败 报这个错

  • 用的是 EMQX 哪个版本?
  • 请开启 debug 日志进行复现然后在帖子里上传下打包的日志信息。
  • “鉴权” (ACL) 失败,还是 TLS 连接失败。

版本是4.2.5 debug没有日志。这是抓的包

服务器的证书链是怎么验证的,这个listener.ssl.external.certfile配置的是服务器证书文件。这个文件需要将服务器证书和中间证书都写进去么 然后使用根证书鉴权 是这样么

listener.ssl.external.certfile 配置 “服务器证书”,
listener.ssl.external.cacertfile 配置 “签发服务器证书的中间证书”

鉴权的时候使用签发中间证书的CA根证书鉴权么

可以直接使用中间证书来鉴权认证么

hi
关于证书配置,经过确认在 4.2.5 中需要将中间 CA 和根 CA 配置需要放置于 listener.ssl.external.cacertfile 中,并且有顺序要求。请参考: EMQX SSL/TLS 使用配置指南

此外 EMQX 4.2.x 已经停止支持,不会有功能更新和 bug 修复。建议升级到最新版 5.3.x,新版本中也提供了更便捷灵活的监听器配置方式。