你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

与 MQTT 代理的传输层安全性 (TLS) 连接

若要与 MQTT 中转站建立安全连接,可以在端口 8883 上使用 MQTTS,或者在端口 443 上使用基于 Web 套接字的 MQTT。 请务必注意,仅支持安全连接。 以下步骤在客户端进行身份验证之前建立安全连接。

建立相互传输层安全性 (mTLS) 连接的概要流程

  1. 客户端发起与 MQTT 中转站的握手。 它发送一个包含受支持 TLS 版本和密码套件的 hello 数据包。
  2. 服务向客户端出示其证书。
    • 服务根据客户端 hello 数据包中的密码提供 P-384 EC 证书或 RSA 2048 证书。
    • 服务证书由公共证书颁发机构签名。
  3. 客户端验证它是否已连接到正确的可信服务。
  4. 然后,客户端出示自己的证书来证明其真实身份。
    • 目前,我们仅支持基于证书的身份验证,因此客户端必须发送其证书。
  5. 服务在验证证书后成功完成 TLS 握手。
  6. 完成 TLS 握手并建立 mTLS 连接后,客户端向服务发送 MQTT CONNECT 数据包。
  7. 服务对客户端进行身份验证并允许连接。
    • 用于建立 mTLS 的同一客户端证书用于对客户端与服务的连接进行身份验证。

后续步骤