现在,我必须对mqtt代理(ssl)进行初始测试。但是,现在我没有有效的信任库证书,但是我想测试基本连接,忽略有关主机名验证,证书验证等的SSL错误。
不幸的是,即使与我知道它正在工作的经纪人,我也没有成功。
我在做什么:
mosquitto_sub -h the_host -p 8883 -t '#' -v -u myUser -P myPass --insecure -d --capath /etc/ssl/certs
根据手册页,我只使用--capath来识别它是TLS连接,并知道此处没有可用的根证书。
我得到的是这个:
Client mosqsub|11262-csbox sending CONNECT
Error: A TLS error occurred.
知道我在做什么错吗?
使用--insecure
只是禁用对由代理提供的证书中的主机名的验证。它并不需要删除签署代理证书的CA证书的副本。
因此,如果/etc/ssl/certs
不包含匹配的CA证书,则连接将失败。
[如果需要,您应该可以使用openssl s_client
之类的东西直接从代理下载证书链,然后可以使用--cafile
选项而不是--capath
选项指向该文件。