【问题标题】:How to use TLS - PSK along with MQTT in Java 8如何在 Java 8 中使用 TLS - PSK 和 MQTT
【发布时间】:2018-05-14 02:52:59
【问题描述】:

我正在寻找在不使用任何证书的情况下使用 MQTT 和 TLS - PSK 的示例代码。我有一个 psk 身份和一个密钥。

这是我的样本,但它不起作用..

int qos = 1;
String broker = "tcp://xxx.example.in:5633";
String clientId = "JavaExample";
String user = "my_identity"; (my psk identity)
String pass = "6874e899071b909a2268b020ef9ff046cydfernjn90546n546nklkj565"; (my psk key)
MemoryPersistence persistence = new MemoryPersistence();

    MqttAsyncClient sampleClient = new MqttAsyncClient(broker,clientId,persistence);
    sampleClient.setCallback(new SimpleMqttCallBack());
    MqttConnectOptions connOpts = new MqttConnectOptions(); 
    connOpts.setUserName(user);
    connOpts.setCleanSession(false);
    System.out.println("Connecting to broker: " + broker);


    SSLContext sslContext = SSLContext.getInstance("TLSv1.2");    
    sslContext.init(null,null,null);
    SSLSocketFactory socketFactory = sslContext.getSocketFactory();
    connOpts.setSocketFactory(socketFactory);   
    System.out.println("SSL Added");


    sampleClient.connect(connOpts);
    sampleClient.subscribe("#", qos);

如何将我的 psk 身份和密钥与 TLS1.2 和 MQTT 连接起来?

【问题讨论】:

    标签: mqtt tls1.2


    【解决方案1】:

    也许这个答案有帮助:https://stackoverflow.com/a/49431225/8495341

    您可以将自定义 SSLSocketFactory 传递给使用充气城堡执行 TLS-PSK 的 paho MQTT 客户端。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 1970-01-01
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多