mqtt启用ssl参考(1)
基本生成步骤:
- 生成CA根证书
- 生成服务端证书
- 生成客户端证书(如果需要做双向认证的话)
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 |
使用客户端验证可用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界