使用Openssl制作自签证书,并应用于自己MQTT服务器通讯

文章插图
为什么要使用ssl加密通讯随着互联网快速发展 , 网络安全越来越得到人们的关注 。谁都不想自己的数据被人窃听或利用 , 而当我们直接使用TCP连接一个服务器通讯时 , 此时是明文传输的 , 很容易使用抓包工具(如wireshark)抓取我们的数据包 , 从而分析出相关的数据 。比如我们直接登陆mqtt服务器 , 数据报文中就包括了登陆账号 , 密码 , ClientID等等信息 , 如果“坏人”捕捉到这些信息 , 那他就可以连接我们的服务器 , 显然这不是我们想要的结果 。

文章插图
SSL就是解决其问题的一种方案 。即我们可以在我们的应用程(HTTP, MQTT, FTP)与传输层(这里主要是TCP)之间加一级SSL加密传输 。细心的小伙伴可以发现现在绝大多数的网站都已经采用了这种方式加密通信 , 从以前的http悄悄的变成了https咯~

文章插图
证书和SSL的关系

文章插图
证书其实是SSL中通讯过程基本保障 , 用来验证服务器或客户端是否是可信任的(这里大家可以联想下我们在银行办理网上银行时 , 通常银行会给我们一个类似“K宝”的小东西 , 其作用就是客户端证书 , 当我们登陆银行网站交易时 , 网站会验证我们是否可信任 , 否则不允许登陆或后续交易操作) 。且公证的证书(证书机构颁发的 , 如CA机构)有效的防止他人仿造 , 保障了通讯过程的安全 。而这里我们自己制作的自签证书 , 仅供自己使用 , 并不是公认的 。好了 , 暂时先说这么多 。OK , 开始进入我们的主题 。

文章插图
实践操作这里需要我们的测试环境的Ubuntu系统 , 已经默认安装Openssl了 , 如果大家没装的话 , 可以使用apt-get install openssl相关命令安装即可 。
1. 生成CA私钥 。这里我们自己“假装”是CA机构 , 当然需要CA证书 , 私钥拉 , 不然咋给其他人办理业务勒~
openssl genrsa -out ca-key.pem 1024

文章插图
2. 创建证书请求 。证书请求是生成证书必要过程 , 请求中就包含了所属城市 , 单位 , 机构 , 组织 , 公共名等等信息 。
openssl req -new -out ca-req.csr -key ca-key.pem

文章插图
3. 自签署(CA)证书 , 也叫根证书 。之后就可以给“其他人”办理业务咯 。
openssl x509 -req -in ca-req.csr -out ca-cert.pem -signkey ca-key.pem -days 3650

文章插图
【使用Openssl制作自签证书,并应用于自己MQTT服务器通讯】
推荐阅读
- 退役军人优待证有什么作用?
- 朴树盆景制作和养护方法详解
- 全自动洗碗机的使用方法
- 水杉盆景制作方法和养护
- 胶片相机的使用方法及介绍
- 富士相机选购以及使用方法
- 使用杀毒工具软件要注意什么
- 监控工具之Zabbix,搭建过程和使用心得
- IDEA使用技巧以及如何连接数据库
- 灭活脊灰疫苗使用注意事项