ca.pem证书不是应该会在服务端进行验证的吗,使用mqttx工具关闭SSL Secure之后为什么不需要ca.pem能直接连接呢,这样会不会存在安全问题
1. 关于 ca.pem
证书验证:
ca.pem
(CA 根证书)是客户端(比如 MQTTX)用来验证服务器是不是“如假包换”的。也就是说,这个验证主要发生在客户端这边。 只有在服务器配置了“双向认证”(mTLS)时,服务器才会反过来用它自己的 CA 证书去验证客户端的身份。
2. 关闭 “SSL Secure” 后不用 ca.pem
也能连接:
关掉 “SSL Secure” 这个选项,MQTTX 就不会去检查服务器的证书了。它仍然会尝试建立加密连接,但因为省了验证服务器身份的步骤,所以也就不需要 ca.pem
文件了。 连接是加密了,但客户端并不知道对面连的是不是真正的服务器。
3. 安全风险:
不验证服务器身份,就很容易遭到“中间人攻击”。黑客可以冒充成你的服务器,你发过去的数据(比如账号密码、敏感信息)就可能被篡改。 “开启 SSL Secure 就会连接异常,关闭之后就能连上”,这通常意味着服务器的证书配置或者你用的 CA 证书有问题。正确的做法是解决证书配置的问题,而不是为了能连上就关掉安全验证,那样做很不安全。
关于第二点说mqttx不会去检查服务器的证书,仍然会建立加密连接,建立加密连接不会用到ca.pem的吗