你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
与 MQTT 代理的传输层安全性 (TLS) 连接
若要与 MQTT 中转站建立安全连接,可以在端口 8883 上使用 MQTTS,或者在端口 443 上使用基于 Web 套接字的 MQTT。 请务必注意,仅支持安全连接。 以下步骤在客户端进行身份验证之前建立安全连接。
建立相互传输层安全性 (mTLS) 连接的概要流程
- 客户端发起与 MQTT 中转站的握手。 它发送一个包含受支持 TLS 版本和密码套件的 hello 数据包。
- 服务向客户端出示其证书。
- 服务根据客户端 hello 数据包中的密码提供 P-384 EC 证书或 RSA 2048 证书。
- 服务证书由公共证书颁发机构签名。
- 客户端验证它是否已连接到正确的可信服务。
- 然后,客户端出示自己的证书来证明其真实身份。
- 目前,我们仅支持基于证书的身份验证,因此客户端必须发送其证书。
- 服务在验证证书后成功完成 TLS 握手。
- 完成 TLS 握手并建立 mTLS 连接后,客户端向服务发送 MQTT CONNECT 数据包。
- 服务对客户端进行身份验证并允许连接。
- 用于建立 mTLS 的同一客户端证书用于对客户端与服务的连接进行身份验证。