esp8266与mosquitto的mqtt的ssl通讯实现(一)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/uniom/article/details/53932750

将esp8266与mosquitto进行mqtt的ssl加密通讯过程之艰辛,资料程序都没有完整的,问题也很多,好在有CSDN,GitHub,Google等等,大家技术分享和技术问答,所以打算将过程写出来,中间很多问题解决了中间过程没有记下来,以后会经常写博客贴出来,一些源代码也会放到Github上大家参考。

具有参考价值代码,博客也会贴出来,一点点更新吧。

目前基本实现了 设备端-服务器-客户端 的mqtt-ssl通讯,以下几个部分,后面功能继续开发,先把完成的部分记下来,有些问题都快忘了,

有什么问题大家留言。

(1)mosquitto在aws上安装,涉及安装,配置,运行,以及在AWS运行上问题;

(2)采用插件实现了用户登录和用户权限控制,涉及插件配置,编译,安装问题,在MySQL中控制,这个插件密码哈希算法,写了个java版;

(3)java客户端与服务器连接mqtt-ssl方式,涉及ssl配置,库的选用问题;

(4)esp8266与mosquitto进行mqtt-ssl方式通讯,涉及CA制作,证书在不同端格式问题,证书安装使用,代码烧录,代码修改,问题和注意点很多。


先把具有参考价值的连接贴出来,后面再一点点整理


mosquitto的认证授权插件

https://github.com/jpmens/mosquitto-auth-plug


在以上,mosquitto-auth-plug 插件的密码哈希算法没找到java版的,费了好久写了个,包括生成和验证,

目前没有星,大家觉得有用可以给星鼓励鼓励,大家鼓励才是我分享的动力,star,star... 

https://github.com/zhyufeng/PBKDF2HmacSHA1


esp8266的mqtt的客户端程序来自GitHub如下,

https://github.com/tuanpmt/esp_mqtt

实现mqtt功能直接可以使用,ssl双向验证要添加一些代码,证书制作等等问题很多,后面我会写出来。

搭建参考,

ESP8266的MQTT客户端搭建教程

http://blog.csdn.net/yannanxiu/article/details/53088534



参考了一下博客,

Mosquito使用SSL/TLS进行安全通信时的使用方法

http://blog.csdn.net/houjixin/article/details/24305613

这个实现了单向认证,双向认证需要修改代码,

CA证书制作由于要和esp8266通讯需要参考esp8266的ssl通讯



mosquitto的ssl通讯配置参考

https://mosquitto.org/man/mosquitto-tls-7.html



先写这么多,后面陆续更新

展开阅读全文

没有更多推荐了,返回首页