Tag: mosquitto

Mosquitto安全MQTT连接

我的问题是关于TLS / SSL MQTT连接。 我已经从这个网站安装了moaquitto broker。 http://www.eclipse.org/mosquitto/download/ 并使用java中的paho eclipse库进行简单的订阅/发布。 然后我在java中使用bouncycastle创建了X509证书。 但现在我陷入了关于这些证书的服务器配置。我需要在同一个代理上为不同的主题使用不同的证书。 我发现的是以下mosquitto-auth-plug。 https://github.com/jpmens/mosquitto-auth-plug 但是在mosquitto_auth_plugin中我们需要定义包含用户名和密码进行身份validation的后端数据库。 我们如何在这里保存证书? 正如我上面所说,我正在为客户端创建X509 rootCA服务器和X509证书。我对此感到困惑。 有没有其他/更好的方式来确认服务器有关这些证书? 是否可以使用HiveMQ,ActiveMQ或RabbitMQ等任何其他经纪人来实现此目的?

Android – Paho Mqtt客户端在网络连接更改后不会收到消息(移动数据已禁用并再次启用)

我正在使用Mosquitto Mqtt和paho API来接收Android设备上的推送消息。 但是一旦网络连接发生变化,就会停止接收消息。 以下是使用简单测试用例重现问题的步骤: 1)创建一个简单的活动。 2)On Activity StartUp通过paho API连接到mosquitto测试服务器(test.mosquitto.org:1883)。 3)订阅一些主题。 4)向主题发布一些消息。 结果: Mqtt Client收到发布到该主题的所有消息。 现在 5)禁用移动设备上的互联网连接(移动数据) 6)向主题发布一些消息。 7)重新连接互联网。 结果:客户端在禁用Internet连接后未收到任何已发布的消息。 由于KeepAliveInterval一直保持高值(30分钟),它应该在重新连接到互联网后收到所有消息。 相同的用例(相同的代码)适用于简单的java项目(非android),我在我的笔记本电脑上禁用互联网来运行用例。 知道为什么它不能在Android设备上工作??? 我错过了什么吗? 注意: 1)使用mqtt-client-0.4.1 2)Android目标API级别11 3)测试期间不要将设备置于睡眠模式。 4)在connectionLost回调中没有得到任何调用,并且mqtt回调的所有4个线程都在整个测试用例中运行,即mosquitto服务器的连接是完整的。

如何在Eclipse PAHO Java MQTT客户端和Mosquitto代理之间创建PSK连接?

我正在尝试在mosquitto mqtt代理和使用Eclipse Paho客户端库的Java编写的应用程序之间配置预共享密钥加密连接。 我已经成功地在两者之间建立连接,使用无加密并使用SSL,其中服务器证书经过身份validation但没有客户端证书。 我想通过使用预共享密钥来加密连接(身份validation并不重要),这是mosquitto代理肯定支持的,但我不确定Eclipse Paho库是否支持它。 该库为您提供了两种配置安全连接的方法。 要么通过 setSSLProperties(java.util.Properties props) 方法 – 使用以下属性: com.ibm.ssl.protocol com.ibm.ssl.contextProvider com.ibm.ssl.keyStore com.ibm.ssl.keyStorePassword com.ibm.micro.security.Password.obfuscate(char[] password). com.ibm.ssl.keyStoreType com.ibm.ssl.keyStoreProvider com.ibm.ssl.trustStore com.ibm.ssl.trustStorePassword com.ibm.micro.security.Password.obfuscate(char[] password). com.ibm.ssl.trustStoreType com.ibm.ssl.trustStoreProvider com.ibm.ssl.enabledCipherSuites com.ibm.ssl.keyManager com.ibm.ssl.trustManager 或通过 setSocketFactory(javax.net.SocketFactory socketFactory) 方法。 有没有人对我使用的工具和库有任何经验,任何人都可以提供任何建议,以便我可以得到一些有用的东西? 是否有可能创建一个ssl套接字工厂,它能够返回一个可以应对我需要的PSK实现的套接字? 谢谢你的帮助 :-)