mosquitto加密SSL通信 ----我的笔记(4.2)

在掌握了mosquitto 的通信过程之后我们进一步掌握加密通信


首先,先安装openssl
输入命令
apt-get install   openssl-devel
如果版本不对,没法安装的话:一般记得最多的好像是关联,依赖什么的问题
那么我们就使用aptitude软件包管理器
 安装aptitude
sudo apt-get install aptitude
apt-get install     openss-devel


SSL在身份认证过程中需要有一个双方都信任的CA签发的证书,CA签发证书是需要收费的,但是在测试过程中,可以自己产生一个CA,然后用自己产生的CA签发证书,下面的mosquitto的ssl功能的测试过程就是采用这一方式。
首先在CA证书认证机构生成一对根密匙(私钥和公钥)
cd  /etc/pki/CA
(umask 077; openssl genrsa -out private/cakey.pem 2048)
生成一个私钥,并且权限为600


第二步,编辑openssl主配置文件
vim /etc/pki/tls/openssl.conf
第三步,生成根证书(为CA自身签发证书)
使用req命令生成自签证书:
openssl req -new -x509 -key private/cakey.pem -out cacert.pem




上面的自签证书cacert.pem应该生成在/etc/pki/CA下。


第四步,为我们的mosquitto服务器生成ssl密钥
类似上面的:
cd /etc/mosquitto/ssl
openssl genrsa -out mosquitto.key 2048


第五步,为mosquitto 服务器生成证书签署请求


openssl req -new -key mosquitto.key -out mosquitto.csr


第六步,对请求证书.csr进行签证
openssl ca -in mosquitto.csr -out mosquitto.crt


进行使用,反正涉及到这个就是先得到CA本身的证书.pem,然后对其他的服务器客户端之类的首先先生成密钥.key,其次生成证书签署请求.csr
,然后用.pem对.csr生成.crt文件。
然后就可以进行使用了,首先配置mosquitto.conf
修改一下几个参数:
修改port 参数,mosquitto官方网站建议在使用功能的时候使用8883端口
修改cafile参数,该参数表示CA的证书文件的位置,需将其设置为正确的位置
修改certfile参数,该参数表示CA为server端签发的证书文件的位置
修改keyfile参数,该参数表示server端使用的key文件的位置




参考网页:
http://www.linuxidc.com/Linux/2016-05/131146.htm
http://www.linuxidc.com/Linux/2013-05/84985.htm
http://blog.csdn.net/houjixin/article/details/24305613
http://itindex.net/detail/55606-mqtt-%E9%97%AE%E9%A2%98
http://blog.chinaunix.net/uid-20539097-id-64403.html
http://blog.csdn.net/houjixin/article/details/24305613

你可能感兴趣的:(工作笔记)