apachecamel-MQTT与SSL

apachecamel-MQTT与SSL,ssl,apache-camel,mqtt,Ssl,Apache Camel,Mqtt,在哪里可以找到使用SSL的MQTT的确切配置设置。官方文档只有一行“支持SSL”,但我找不到任何关于如何配置它的信息 我读过一些论坛,但我什么也看不出来 这方面需要一些帮助 在你问我之前,我试过什么。我刚刚在camel中使用mqtt作为组件创建了一条路由。我有几张证书,我不知道如何在这里使用。给所有在中查找甚至不存在的说明的人。下面是我们的示例,您可以使用SSL配置MQTT组件 带有客户端、CA证书和密钥的MQTT+SSL <dependency> <g

在哪里可以找到使用SSL的MQTT的确切配置设置。官方文档只有一行“支持SSL”,但我找不到任何关于如何配置它的信息

我读过一些论坛,但我什么也看不出来

这方面需要一些帮助


在你问我之前,我试过什么。我刚刚在camel中使用mqtt作为组件创建了一条路由。我有几张证书,我不知道如何在这里使用。

给所有在中查找甚至不存在的说明的人。下面是我们的示例,您可以使用SSL配置MQTT组件

带有客户端、CA证书和密钥的MQTT+SSL

<dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
            <version>1.40</version>
        </dependency>
路线

        MQTTEndpoint mqttEndpoint = null;
        MQTTComponent mqttComponent = new MQTTComponent();
        mqttComponent.setCamelContext( this.getContext()); //Set camel context

        mqttEndpoint = (MQTTEndpoint) mqttComponent.createEndpoint("mqtt://mqtt-queue"); //mqtt://<any-name>
        mqttEndpoint.getConfiguration().setHost( "ssl://<your-ssl-broker>" );

        SSLContext sc = SSLManager
                .getSocketFactory("<ca-certificate>.crt", "<trust-certificate>.crt", "<key>.key", <password>);
        mqttEndpoint.getConfiguration().setSubscribeTopicNames("<topic>");
        mqttEndpoint.getConfiguration().setSslContext( sc );
Maven依赖关系

<dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
            <version>1.40</version>
        </dependency>

org.bouncycastle
bcprov-jdk16
1.40

您能分享您的路线代码吗?谢谢您的评论。找到了解决办法。将其作为答案发布