gpt4 book ai didi

java - 使用带预共享 key 的 TLS 连接到 MQTT 代理

转载 作者:太空宇宙 更新时间:2023-11-03 13:35:25 25 4
gpt4 key购买 nike

我正在尝试使用 Java 控制台应用程序连接到 MQTT 代理,该代理仅支持带有预共享 key 的 TLS(不支持 SSL 或其他客户端证书文件选项)。我有以下依赖项:

<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.56</version>
</dependency>

我使用以下页面作为起点: http://www.hivemq.com/blog/mqtt-client-library-encyclopedia-eclipse-paho-java

他们有以下用于 SSL 连接的部分:

MqttClient client = new MqttClient("ssl://yourbroker:8883", MqttClient.generateClientId(), new MemoryPersistence());

SSLContext sslContext = SSLContext.getInstance("SSL");
TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
KeyStore keyStore = readKeyStore();
trustManagerFactory.init(keyStore);
sslContext.init(null, trustManagerFactory.getTrustManagers(), new SecureRandom());

MqttConnectOptions options = new MqttConnectOptions();
options.setSocketFactory(sslContext.getSocketFactory());

client.connect(options);

我真正需要的是一个使用带有预共享 key 的 TLS 的示例,我已经做了很多搜索并且可以找到一个 TLS PSK 示例(http://tiebing.blogspot.com.au/2013/09/java-bouncy-castle-tls-psk-example.html)但不知道如何连接 MQTT 客户端到那个 TLS PSK 示例。

如有任何帮助,我们将不胜感激,谢谢!

最佳答案

我从来没有找到解决这个问题的方法,但是使用 Mosquitto 作为代理是一个合适的解决方法:

Mosquitto

关于java - 使用带预共享 key 的 TLS 连接到 MQTT 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41946458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com