mqtt启用ssl参考(1)

基本生成步骤:

  1. 生成CA根证书
  2. 生成服务端证书
  3. 生成客户端证书(如果需要做双向认证的话)

1.生成根证书

1
2
3
4
5
6
7
8
# 生成root私钥
openssl genrsa -out root.key 1024
 
# 根据私钥创建根证书请求文件,需要输入一些证书的元信息:邮箱、域名等
openssl req -new -out root.csr -key root.key
 
# 结合私钥和请求文件,创建根证书,有效期10年
openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650

 

2.生成服务端证书

1
2
3
4
5
6
7
8
# 创建服务端私钥
openssl genrsa -out server.key 1024
 
# 根据私钥生成请求文件
openssl req -new -out server.csr -key server.key
 
# 结合私钥和请求文件创建服务端证书,有效期10年
openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA ../root_ca/root.crt -CAkey ../root_ca/root.key -CAcreateserial -days 3650

 

如果需要只需要部署服务端证书端话,就可以结束了。拿着server.crt公钥和server.key私钥部署在服务器上,然后解析域名到改服务器指向到IP,证书就部署成功了。

3.生成客户端证书

如果需要做双向验证的,也就是服务端要验证客户端证书的情况。那么需要在同一个根证书下再生成一个客户端证

1
2
3
4
5
6
7
8
9
10
11
# 生成私钥
openssl genrsa -out client.key 1024
 
# 申请请求文件
openssl req -new -out client.csr -key client.key
 
# 生成证书
openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA ../root_ca/root.crt -CAkey ../root_ca/root.key -CAcreateserial -days 3650
 
# 生成客户端集成证书pkcs12格式的文件,方便浏览器或者http客户端访问(密码:123456)
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

 

 

 使用客户端验证可用

 

posted @   timseng  阅读(374)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示