繁体   English   中英

Java 中使用 TLS 的 Eclipse Paho MQTT 客户端

[英]Eclipse Paho MQTT client in Java using TLS

我需要在 Java 中使用Eclipse Paho创建一个 MQTT 客户端。

我的 MQTT 代理支持 Nginx TCP 反向代理,它启用了 TLS。 因此,我需要将客户端配置为使用 TLS。

尽管如此,我不想为我的客户提供证书(我认为我真的不需要,因为我可以连接启用了 TLS 的 NodeRED MQTT 客户端,并且该客户端没有提供任何证书;同样 - 我听说 - 使用 .NET 核心客户端)。

是否可以使用 Eclipse Paho 库来做到这一点? 我能找到的所有示例都使用证书。

是的,您只需要提供ssl://mqtts:// URL 而不是tcp://mqtt://

例如使用 Paho Java 客户端页面上的示例:

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字符串更改为:

String broker       = "ssl://mqtt.eclipse.org:8883";

这假设 nginx 正在侦听端口 8883,并且代理正在使用由公共可信 CA 签名的证书。

所有这些也在 Javadoc 中描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM