MQTT在多linux主机的TLS加密通讯实现

MQTT在多linux主机的TLS加密通讯实现

环境

  • 局域网主机R3600:Ubuntu20
  • 局域网主机Ubuntu on VMware
  • 公网主机:118.195.183.14

TLS基础

组成

主要分为3类文件,分别为

  1. 证书文件,xxx.crt;其中有种特殊的证书,用于生成证书的证书一般叫ca.crt,certificate authority certificate的简写
  2. 秘钥,xxx.key
  3. 待签名证书,xxx.csr;certificate signing request的简写,一般csr需要发给CA去签名,签名后成为crt
思路
  1. 在服务端主机(这里为公网服务器broker)生成ca.key和ca.crt
  2. 在任意主机(这里同样选择公网服务器broker)生成server.key和server.csr
  3. 在服务端主机(这里为公网服务器broker)使用ca.key和ca.crt对server.csr进行签名生成server.crt
  4. 将server.key、server.crt和ca.crt 3个文件打包发给mqtt server
  5. 上面只对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 
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值