网站建设
网站推广
网络推广
Network promotion
关键词SEO优化
品牌推广
两V一抖
广告媒介投放
品牌网站建设
企业网站建设
门户网站建设
网站代运营
集团网站建设
外贸网站建设
营销型网站建设
网站运营维护
案例
方案
网站方案
Solution
教育培训
商城
美容化妆品
LED
软件IT
房地产
装饰行业
节能环保
手机数码
集团上市公司
金融行业
物流
钟表
数码电器
旅游
其他
电商网站开发
电商网站开发
E-commerce & System
定制化电子商务系统
产品商城网站建设方案
移动手机电商网站解决方案
微信会员电商解决方案
系统开发
P2P金融平台
产品众筹平台
股权众筹平台
微信小程序
微信小程序
微商城
微官网
微活动
我们
我们
About Us
了解我们
关于快上网
实力认可
快上网与众不同
理念与信仰
售后支持
我们的客户
客户列表
客户评价
联系
联系
Contact Us
联系我们
业务热线:
028-86922220
邮箱:
service@cdxwcx.com
人才招聘
HR电话:
13518219792
精准传达 • 有效沟通
从品牌网站建设到网络营销策划,从策略到执行的一站式服务
网站建设
>
查看其它板块
网站建设知识
网站营销推广
网站设计观点
网站优化排名
网站商城开发
EMQXMQTT服务器启用SSL/TLS安全连接
目前
创新互联
已为上1000家的企业提供了网站建设、域名、
雅安服务器托管
、
成都网站托管
、企业网站设计、
蔡家坡网站维护
等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。tion>作为基于现代密码学公钥算法的安全协议,TLS/SSL 能在计算机通讯网络上保证传输安全,EMQ X 内置对 TLS/SSL 的支持,包括支持单/双向认证、X.509 证书、负载均衡 SSL 等多种安全认证。你可以为 EMQ X 支持的所有协议启用 SSL/TLS,也可以将 EMQ X 提供的 HTTP API 配置为使用 TLS。本文将介绍如何在 EMQ X 中为 MQTT 启用 TLS。SSL/TLS 带来的安全优势强认证。 用 TLS 建立连接的时候,通讯双方可以互相检查对方的身份。在实践中,很常见的一种身份检查方式是检查对方持有的 X.509 数字证书。这样的数字证书通常是由一个受信机构颁发的,不可伪 造。保证机密性。TLS 通讯的每次会话都会由会话密钥加密,会话密钥通讯双方协商产生。任何第三方都无法知晓通讯内容。即使一次会话的密钥泄露,并不影响其他会话的安全性。完整性。 加密通讯中的数据很难被篡改而不被发现。SSL/TLS 协议TLS/SSL 协议下的通讯过程分为两部分,第一部分是握手协议。握手协议的目的是鉴别对方身份并建立一个安全的通讯通道。握手完成之后双方会协商出接下来使用的密码套件和会话密钥;第二部分是 record 协议,record 和其他数据传输协议非常类似,会携带内容类型,版本,长度和荷载等信息,不同的是它所携带的信息是加密了的。下面的图片描述了 TLS/SSL 握手协议的过程,从客户端的 "hello" 一直到服务器的 "finished" 完成握手。有兴趣的同学可以找更详细的资料看。对这个过程不了解也并不影响我们在 EMQ X 中启用这个功能。SSL/TLS 证书准备通常来说,我们会需要数字证书来保证 TLS 通讯的强认证。数字证书的使用本身是一个三方协议,除了通讯双方,还有一个颁发证书的受信第三方,有时候这个受信第三方就是一个 CA。和 CA 的通讯,一般是以预先发行证书的方式进行的。也就是在开始 TLS 通讯的时候,我们需要至少有 2 个证书,一个 CA 的,一个 EMQ X 的,EMQ X 的证书由 CA 颁发,并用 CA 的证书验证。获得一个真正受外界信任的证书需要到证书服务提供商进行购买。在实验室环境,我们也可以用自己生成的证书来模拟这个过程。下面我们分别以这两种方式来说明 EMQ X 服务器的 SSL/TLS 启用过程。注意: 购买证书与自签名证书的配置,读者根据自身情况只需选择其中一种进行测试。 购买证书如果有购买证书的话,就不需要自签名证书。为方便 EMQ X 配置,请将购买的证书文件重命名为 emqx.crt,证书密钥重命名为 emqx.key。 自签名证书在这里,我们假设您的系统已经安装了 OpenSSL。使用 OpenSSL 附带的工具集就可以生成我们需要的证书了。首先,我们需要一个自签名的 CA 证书。生成这个证书需要有一个私钥为它签名,可以执行以下命令来生成私钥:openssl genrsa -out my_root_ca.key 2048这个命令将生成一个密钥长度为 2048 的密钥并保存在 my_root_ca.key 中。有了这个密钥,就可以用它来生成 EMQ X 的根证书了:openssl req -x509 -new -nodes -key my_root_ca.key -sha256 -days 3650 -out my_root_ca.pem根证书是整个信任链的起点,如果一个证书的每一级签发者向上一直到根证书都是可信的,那个我们就可以认为这个证书也是可信的。有了这个根证书,我们就可以用它来给其他实体签发实体证书了。实体(在这里指的是 EMQ X)也需要一个自己的私钥对来保证它对自己证书的控制权。生成这个密钥的过程和上面类似:openssl genrsa -out emqx.key 2048新建 openssl.cnf 文件,req_distinguished_name :根据情况进行修改,alt_names:BROKER_ADDRESS 修改为 EMQ X 服务器实际的 IP 或 DNS 地址,例如:IP.1 = 127.0.0.1,或 DNS.1 = broker.xxx.comdefault_bits = 2048distinguished_name = req_distinguished_namereq_extensions = req_extx509_extensions = v3_reqprompt = nocountryName = CNstateOrProvinceName = ZhejianglocalityName = HangzhouorganizationName = EMQXcommonName = Server certificatesubjectAltName = @alt_namessubjectAltName = @alt_namesIP.1 = BROKER_ADDRESSDNS.1 = BROKER_ADDRESS然后以这个密钥和配置签发一个证书请求:openssl req -new -key ./emqx.key -config openssl.cnf -out emqx.csr然后以根证书来签发 EMQ X 的实体证书:openssl x509 -req -in ./emqx.csr -CA my_root_ca.pem -CAkey my_root_ca.key -CAcreateserial -out emqx.pem -days 3650 -sha256 -extensions v3_req -extfile openssl.cnf准备好证书后,我们就可以启用 EMQ X 的 TLS/SSL 功能了。SSL/TLS 启用及验证在 EMQ X 中 mqtt:ssl 的默认监 听端口为 8883。 购买证书方式EMQ X 配置将前文重命名后的 emqx.key 文件及 emqx.crt 文件拷贝到 EMQ X 的 etc/certs/ 目录下,并参考如下配置修改 emqx.conf:## listener.ssl.$name is the IP address and port that the MQTT/SSL## Value: IP:Port | Portlistener.ssl.external = 8883## Path to the file containing the user's private PEM-encoded key.## Value: Filelistener.ssl.external.keyfile = etc/certs/emqx.key## Path to a file containing the user certificate.## Value: Filelistener.ssl.external.certfile = etc/certs/emqx.crtMQTT 连接测试当配置完成并重启 EMQ X 后,我们使用 MQTT 客户端工具 - MQTT X (该工具跨平台且支持 MQTT 5.0 ),来验证 TLS 服务是否正常运行。MQTT X 版本要求:v1.3.2 及以上版本参照下图在 MQTT X 中创建 MQTT 客户端(Host 输入框里的 mqttx.app 需替换为实际的域名)注意:在 Certificate 一栏只需选择 CA signed server 即可,使用购买证书在进行单向认证连接时不需要携带任何证书文件(CA 文件也不需要携带)。点击 Connect 按钮,连接成功后,如果能正常执行 MQTT 发布/订阅 操作,
什么叫软文营销?
则购买证书的 SSL 单向认证配置成功。 自签名证书方式EMQ X 配置将前文中通过 OpenSSL 工具生成的 emqx.pem、emqx.key 及 my_root_ca.pem 文件拷贝到 EMQ X 的 etc/certs/ 目录下,并参考如下配置修改 emqx.conf:## listener.ssl.$name is the IP address and port that the MQTT/SSL## Value: IP:Port | Portlistener.ssl.external = 8883## Path to the file containing the user's private PEM-encoded key.## Value: Filelistener.ssl.external.keyfile = etc/certs/emqx.key## Path to a file containing the user certificate.## Value: Filelistener.ssl.external.certfile = etc/certs/emqx.pem## Path to the file containing PEM-encoded CA certificates. The CA certificates## Value: Filelistener.ssl.external.cacertfile = etc/certs/my_root_ca.pemMQTT 连接测试当配置完成并重启 EMQ X 后,我们使用 MQTT 客户端工具 - MQTT X (该工具跨平台且支持 MQTT 5.0 ),来验证 TLS 服务是否正常运行。MQTT X 版本要求:v1.3.2 及以上版本参照下图在 MQTT X 中创建 MQTT 客户端(Host 输入框里的 127.0.0.1 需替换为实际的 EMQ X 服务器 IP)此时 Certificate 一栏需要选择 Self signed ,并携带自签名证书中生成的 my_root_ca.pem 文件。点击 Connect 按钮,连接成功后,如果能正常执行 MQTT 发布/订阅 操作,
什么叫软文营销?
则自签名证书的 SSL 单向认证配置成功。 EMQ X Dashboard 验证最后,打开 EMQ X 的 Dashboard 在 Listeners 页面可以看到在 8883 端口上有一个 mqtt:ssl 连接。至此,我们成功的完成了 EMQ X 服务器的 SSL/TLS 配置及单向认证连接测试。EMQ X SSL/TLS 双向认证配置文档请关注我们的后续文章。
点击"阅读原文" ,了解更多↓↓↓
网页题目:EMQXMQTT服务器启用SSL/TLS安全连接
转载来于:
http://cdkjz.cn/article/sdphse.html
返回首页
了解更多建站资讯
相关资讯
什么是相对论通俗解释相对论中c代表什么?-创新互联
计算机软件专业与软件工程的区别有哪些-创新互联
java-php-net-python-校园后勤计算机毕业设计程序-创新互联
python如何爬取ajax-创新互联
收集域中电脑信息-创新互联
BIOS---MBR,UEFI---GPT理解-创新互联
如何下载文件到本地运行的vbs-创新互联
怎么编写Vue.js的单元测试-创新互联
多年建站经验
多一份参考,总有益处
联系快上网,免费获得专属《策划方案》及报价
咨询相关问题或预约面谈,可以通过以下方式与我们联系
大客户专线 成都:
13518219792
座机:
028-86922220
在线咨询
提交需求