@@ -309,6 +309,8 @@ void MqttClient::loadParameters() {
309309 declare_parameter (" client.tls.key" , rclcpp::ParameterType::PARAMETER_STRING, param_desc);
310310 param_desc.description = " client private key password" ;
311311 declare_parameter (" client.tls.password" , rclcpp::ParameterType::PARAMETER_STRING, param_desc);
312+ param_desc.description = " whether to verify the server certificate" ;
313+ declare_parameter (" client.tls.server_cert_auth" , rclcpp::ParameterType::PARAMETER_BOOL, param_desc);
312314
313315 param_desc.description = " The list of topics to bridge from ROS to MQTT" ;
314316 const auto ros2mqtt_ros_topics = declare_parameter<std::vector<std::string>>(" bridge.ros2mqtt.ros_topics" , std::vector<std::string>(), param_desc);
@@ -398,6 +400,7 @@ void MqttClient::loadParameters() {
398400 loadParameter (" client.tls.verify" , client_config_.tls .verify );
399401 loadParameter (" client.tls.alpn_protos" , client_config_.tls .alpn_protos );
400402 }
403+ loadParameter (" client.tls.server_cert_auth" , client_config_.tls .server_cert_auth , true );
401404 }
402405
403406 // resolve filepaths
@@ -886,6 +889,7 @@ void MqttClient::setupClient() {
886889 if (!client_config_.tls .password .empty ())
887890 ssl.set_private_key_password (client_config_.tls .password );
888891 }
892+ ssl.set_enable_server_cert_auth (client_config_.tls .server_cert_auth );
889893 ssl.set_ssl_version (client_config_.tls .version );
890894 ssl.set_verify (client_config_.tls .verify );
891895 ssl.set_alpn_protos (client_config_.tls .alpn_protos );
0 commit comments