Проблема с SSL-соединением в Ubuntu 16.4 - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над авторизацией SSL-сертификата и аутентификацией. Конфигурация Vernemq, как показано ниже.

`listener.ssl.cafile = /etc/vernemq/ssl/CA-cert.pem
listener.ssl.certfile = /etc/vernemq/ssl/server-cert.pem
listener.ssl.keyfile = /etc/vernemq/ssl/server-key.pem
listener.ssl.require_certificate = on
listener.ssl.default = 127.0.0.1:8883
listener.ssl.use_identity_as_username = on`

Я использую java программу в качестве клиента для vernemq. Ниже код, который я использую для связи ssl.

 `String serverUrl = "ssl://127.0.0.1:8883";
 String caFilePath = "/etc/vernemq/ssl/CA-cert.pem";
 String clientCrtFilePath = "/etc/vernemq/ssl/john.crt";
 String clientKeyFilePath = "/etc/vernemq/ssl/john.key";
 MqttClient client;
 client = new MqttClient(serverUrl, "john");
 MqttConnectOptions options = new MqttConnectOptions();         
 options.setUserName("john");
 options.setPassword("root".toCharArray());
 options.setConnectionTimeout(100);
 options.setCleanSession(false);
 SSLSocketFactory socketFactory = getSocketFactory(caFilePath, clientCrtFilePath,   
 clientKeyFilePath, "root");
 options.setSocketFactory(socketFactory);
 System.out.println("starting connect the server...");
 client.connect(options);
 System.out.println("connected!");
 Thread.sleep(1000);         
 client.subscribe("/u/56ca327d17531d08e76bddd);
 client.disconnect();
 System.out.println("disconnected!");`

Я могу подключиться к vernemq, используя tcp: //127.0.0.1: 1883, но не могу подключиться к ssl: //127.0.0.1: 8883. Я получаю приведенную ниже ошибку в консоли java. Любой может помочь решить эту проблему. Я использую самоподписанные сертификаты.

MqttException (0) - java.net.SocketException: Connection reset
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...