Java客户端进行单向认证连接问题

版本:EMQX 5.7.2
服务器:4C16G,单台应用(性能测试)
部署方式:Nginx配置了SSL(自签名CA),反向代理将连接转发到后端EMQX服务 1883 端口,配置如下:

    server {
        listen 8883 ssl;
        server_name  localhost;

        ssl_session_cache shared:SSL:10m;
        ssl_session_timeout 10m;

        ssl_certificate      /usr/local/nginx/ssl/www.t-chef.cn.pem;
        ssl_certificate_key  /usr/local/nginx/ssl/www.t-chef.cn.key;

        ssl_verify_depth 2;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers HIGH:!aNULL:!MD5;

        location / {
            proxy_pass http://127.0.0.1:1883;
        }
    }

现象:我使用MQTTX客户端 mqtts:// 接入的时候不需要指定CA证书,但是使用Java、安卓、iOS客户端进行 ssl:// 连接时,看了SDK示例都需要加载 CA 证书才可以进行。

问题一:如果是公共CA证书,是不是可以不用指定CA证书,只有自签名的才需要指定?
问题二:服务器配置的是自签名,但是 MQTTX 可以正常连接,是因为 MQTTX 内部自动检测和信任了服务器的证书吗?

问题1:是的
问题2:是的,有个配置项;不开启就不验证


.

好的,多谢