MQTT在多linux主机的TLS加密通讯实现
文章目录
环境
- 局域网主机R3600:Ubuntu20
- 局域网主机Ubuntu on VMware
- 公网主机:118.195.183.14
TLS基础
组成
主要分为3类文件,分别为
- 证书文件,xxx.crt;其中有种特殊的证书,用于生成证书的证书一般叫ca.crt,certificate authority certificate的简写
- 秘钥,xxx.key
- 待签名证书,xxx.csr;certificate signing request的简写,一般csr需要发给CA去签名,签名后成为crt
思路
- 在服务端主机(这里为公网服务器broker)生成ca.key和ca.crt
- 在任意主机(这里同样选择公网服务器broker)生成server.key和server.csr
- 在服务端主机(这里为公网服务器broker)使用ca.key和ca.crt对server.csr进行签名生成server.crt
- 将server.key、server.crt和ca.crt 3个文件打包发给mqtt server
- 上面只对server侧进行单向验证,如果同时要对client端进行双向验证只需要将步骤234的server换为client即可
多client共用证书
肯定是可以的,不然不可能为这么多client单独生成证书,正常应该是签名好的证书由CA发放给client
过程
使用脚本生成证书
mkdir -p ~/cert
cd ~/cert
vi cert.sh
chmod u+x cert.sh
./cert.sh
cert.sh脚本;注意"/CN=server" 替换为server的IP地址
#!/usr/bin/env bash # When OpenSSL prompts you for

最低0.47元/天 解锁文章
5732

被折叠的 条评论
为什么被折叠?



