Я настроил сервер HiveMQ на распознавание TLS и создал связь TLS. Я хотел бы распечатать используемые комплекты шифров. Я использовал getSslConfig (), но в итоге получаю это как вывод:
Optional[com.hivemq.client.internal.mqtt.MqttClientSslConfigImpl@2710]
Я знаю, что в MqttClientSslConfig.java
есть метод getCipherSuites()
, но я не смог найти способ его использовать. В качестве продолжения, как мне указать конкретный набор шифров? До сих пор я просто использовал стандартный по умолчанию, например:
Код (Как указать конкретный набор шифров?):
Mqtt5BlockingClient subscriber = Mqtt5Client.builder()
.identifier(UUID.randomUUID().toString()) // the unique identifier of the MQTT client. The ID is randomly generated between
.serverHost("localhost") // the host name or IP address of the MQTT server. Kept it localhost for testing. localhost is default if not specified.
.serverPort(8883) // specifies the port of the server
.addConnectedListener(context -> ClientConnectionRetreiver.printConnected("Subscriber1")) // prints a string that the client is connected
.addDisconnectedListener(context -> ClientConnectionRetreiver.printDisconnected("Subscriber1")) // prints a string that the client is disconnected
.sslWithDefaultConfig() // << How can I specify a particular cipher suite?
.buildBlocking(); // creates the client builder
Код (как я пытался получить конфигурацию SSL):
Mqtt5ClientConfig clientConfig = client.getConfig();
System.out.println(" Ssl Configuration: " + clientConfig.getSslConfig());