(1) 通过这个连接创建了EMQX 启用双向 SSL/TLS 安全连接 | EMQ 服务端证书和客户端证书
(2) 所以证书的附件我以上传
newcert.zip (9.8 KB)
(3) 步骤2中的证书没有生成客户端的ca文件证书,我用的是生成服务端的ca.pem这个证书放到mqttx中
(4) 通过mqttx的ssl/tls连接仍然无法连接,如下图所以:
(5) 连接任然报错错误信息如下:
(1) 通过这个连接创建了EMQX 启用双向 SSL/TLS 安全连接 | EMQ 服务端证书和客户端证书
(2) 所以证书的附件我以上传
newcert.zip (9.8 KB)
(3) 步骤2中的证书没有生成客户端的ca文件证书,我用的是生成服务端的ca.pem这个证书放到mqttx中
(4) 通过mqttx的ssl/tls连接仍然无法连接,如下图所以:
(5) 连接任然报错错误信息如下:
按照教程,你只填ca证书,下面两个留空
根据这里的提示打开debug,看看日志里有没有错误提示:
“ MQTT 连接测试(OpenSSL)”
edit: 使用更清晰的 png 格式截图
hi 请贴下你的 EMQX 监听器配置
另外需要验证下监听器配置的证书是否正确,我按照 blog 中的步骤签署了证书,能够正常连接 (ip.addr = 127.0.0.1
)
证书对应关系如下:
连接正常:
openssl.conf 配置文件内容如下:
上图的ip.1,DNS.1 地址都是127.0.0.1, 我不是本地搭建,能写成物理机的外网访问地址吗
是的,要根据你实际部署的地址来配置。
生产环境建议买个域名并使用 DNS ,这样在 ip 变化的时候不用再频繁更换证书。
单看文件名没什么问题(如果你在配置过程中没有进行过文件重命名)
关键在与,你在 EMQX 中配置的 ca.pem, emqx.pem, emqx.key 这几个文件,是否正确?证书签发过程是否正确?
mqttx(client)使用填进去的 ca.pem 验证服务端的证书 emqx.pem
EMQX(Server)使用监听器配置中的 ca.pem 验证客户端的证书 client.pem
这要求:
client.pem 由服务端侧配置的 ca.pem 签发
emqx.pem 由客户端侧配置的 ca.pem 签发
不可以,这几个证书是示例证书
需要使用你自签名的 ca 证书,以及该自签名 ca 证书签发的服务端证书。
你可以用这个命令来看以下证书的详细信息
openssl x509 -in [FILE_NAME] -noout -text
我把生成的证书放入这个文件夹中,docker应用重启就出现失败,需要重新安装镜像,
那我生成的文件只能放入docker 容器中新创建一个文件夹吗
两个方法
参考文档链接:
https://www.emqx.io/docs/zh/v5.6/deploy/install-docker.html#docker-部署注意事项
我现在发现一个问题,不知道是不是emqx的bug,还是我的配置问题
单向ssl/tls认证:
(1) 控制面板上传三个证书, 不开启验证客户端证书这个按钮,mqttx上传一个CA证书, mqttx连接emqx能通过
(2) 控制面板上传三个证书, 开启验证客户端证书这个按钮,mqttx上传一个CA证书, mqttx连接emqx能通过
双向ssl/tls认证:
(1) 控制面板上传三个证书, 不开启验证客户端证书这个按钮,mqttx上传一个CA证书, mqttx连接emqx能通过
(2) 控制面板上传三个证书, 开启验证客户端证书这个按钮,mqttx上传一个CA证书, mqttx连接emqx能通过
(3) 控制面板上传三个证书, 不开启验证客户端证书这个按钮,mqttx上传3个证书, mqttx连接emqx能通过
(4) 控制面板上传三个证书, 开启验证客户端证书这个按钮,mqttx上传三个证书, mqttx连接emqx能通过
下面如图的按钮管用吗?
都是连接的8883端口,
问题1: 如果开启了ssl/tls双向认证,emqx面板不开启验证客户端证书,mqttx上传一个CA证书就能连接是这个逻辑吗
问题2: 如果开启了ssl/tls双向认证,emqx面板开启验证客户端证书,mqttx需要上传三个证书才能连接是这个逻辑吗
开启「验证客户端证书」开关后,EMQX 会在客户端连接使用证书时进行验证。
但如果客户端没有证书,会根据开关「没有证书则 SSL 失败」的状态,有不同的行为。
感谢
我想请教一个问题,
就是正常情况下如果使用到双向强制对端认证证书的话,是不是就必须使用到pca或者自签名证书才可以,普通的ssl证书就无法做到