进行发布和订阅获取和更新密钥主题之前得先在自己所在HTLock主账号的账号中心下拿到appId,然后根据格式作成发布主题和订阅主题的格式(格式详情可以看TOPIC格式)。

MQTT鉴权接口说明:

获取密钥:这不是第三方服务器向本地部署服务器获取密钥的接口,而是由本地部署服务器(HTLock)调取的接口,更新密钥有个设定密钥有效期的参数expireTime,当时间超过了expireTime后服务器就会调取获取密钥接口给到MQTT这边向你获取密钥,这时候需要再次调更新密钥接口把密钥给到本地部署服务器。

更新密钥:第一次使用MQTT对接的时候需要调用的接口,desKey是自己定义的8位字符,然后经过AES加密后经过更新密钥接口给到本地部署服务器这边记录,后续传送的数据进行加密和解密都需要用到desKey,这个接口可以设置desKey的使用有效期,如若有效期过了之后调用功能接口,本地部署服务器会调用失败并且向MQTT这边发送一个获取密钥的接口进行获取密钥,这时候需要再次调用更新密钥接口给到本地部署服务器这边记录。

重要:

如果是第一次使用MQTT的话,在进行发布和订阅主题之前,得先更新密钥。

1.根据生成AES密钥生成规则文档使用APPID进行异或算法生成AES密钥。 2.生成了AES密钥后看向AES加密的文档,对desKey进行加密。 3.根据AES加密代码对desKey进行加密。(需要用到自己定义的8位数以上的desKey和用APPID生 成的AES密钥) 4.把经过加密的desKey给到更新密钥的desKey那里进行调用。

更新密钥的时候设置了时长,当密钥使用时间超过了设置时长的时候,那么下一次发布主题的时候就会发送一个获取密钥的请求来进行获取密钥。

DES加密和解密说明:

需要对数据安全,针对房源管理、设备操作、授权操作、卡片操作、日志同步的data数据进行加密。

DES加密需要用到发布的请求里面的data数据(包括{}符号)和没有经过加密的自定义8位字符的desKey给到代码里面进行加解密。