我需要使用eclipse paho在java中创建一个mqtt客户机。我的mqtt代理站在nginxtcp反向代理后面,该代理启用了tls。因此,我需要将客户端配置为使用tls。尽管如此,我不想向我的客户机提供证书(我认为我真的不需要,因为我可以连接一个启用tls的nodered mqtt客户机,而这个客户机没有提供任何证书;有人告诉我,.net核心客户端也是如此)。有没有可能用eclipse paho库做到这一点?我能找到的所有例子都使用证书。
a0x5cqrl1#
是的,你只需要提供 ssl:// 或者 mqtts:// url而不是 tcp:// 或者 mqtt:// e、 g.使用paho java客户端页面上的示例:
ssl://
mqtts://
tcp://
mqtt://
String topic = "MQTT Examples"; String content = "Message from MqttPublishSample"; int qos = 2; String broker = "tcp://mqtt.eclipse.org:1883"; String clientId = "JavaSample"; MemoryPersistence persistence = new MemoryPersistence();
你只需要改变一下 broker 字符串到:
broker
String broker = "ssl://mqtt.eclipse.org:8883";
这假设nginx正在侦听端口8883,并且代理正在使用由公共可信ca签名的证书。这里的javadoc中也描述了所有这些
1条答案
按热度按时间a0x5cqrl1#
是的,你只需要提供
ssl://
或者mqtts://
url而不是tcp://
或者mqtt://
e、 g.使用paho java客户端页面上的示例:你只需要改变一下
broker
字符串到:这假设nginx正在侦听端口8883,并且代理正在使用由公共可信ca签名的证书。
这里的javadoc中也描述了所有这些