mqtt android简书,Android客户端通过Paho MQTT和Broker建立SSL/TLS的单向连接

MQTT是物联网时代的基础通讯协议。Paho Mqtt Client是android应用开发中广泛使用的Mqtt Client库。为了确保通讯安全,通常会使用SSL来进行通讯的加密。

Paho Mqtt Client官网上并没有详细说明解释如何建立SSL/TLS连接,下面记录一下。

1 生成证书

转换BKS格式的步骤

将jar放到JDK或者JRE目录下的/lib/ext中

运行命令

keytool -importcert -keystore mqtt_server.bks -file ca.crt -storetype BKS -providerclass org.bouncycastle.jce.provider.BouncyCastleProvider

mqtt_server.bks,要生成BKS格式的证书

ca.crt是按照#1步骤生成的证书

如果碰到java.lang.ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider的错误,那就是bcprov-jdk15on-159.jar没有放到正确的目录去。解决方法:首先确认一下使用的keytool是在JDK还是JRE的目录下,如果keytool是在jdk下,就将bcprov-jdk15on-159.jar复制jdk的lib/ext下,如果是在jre的下,就复制到JRE的lib/ext目录下。

生成的BKS证书要放到Android项目的res/raw下

2 引用Paho Mqtt Client库

按照Paho Mqtt Client在github上的说明就可以完成,别忘了在AndroidManifest.xml中声明mqttservice。

3 具体的代码

直接上代码

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值