·客户端对服务端的认证 通过 服务端证书 完成, MQTT 提供了默认的服务端证书,你也可以使用自有证书进行认证。
·服务端对客户端的认证通过 CA 证书 完成。客户端发起连接请求时,会将客户端证书传递到服务端,服务端将根据客户端提前注册的 CA 证书验证该客户端证书的正确性,验证通过则允许客户端连接服务端。
一、约束与限制
·单集群内服务端证书的最大数量为3个。
·单集群内可以注册的 CA 证书最大数量为 32 个。
二、注意事项
·在初次使用或者更换来自 SSL 证书的 CA 证书或者服务端证书时,需要主账号授权服务角色 MQTT_QCSLinkedRoleInSendSSLcertificate 以获取下载并应用 SSL 证书的功能。
·如果在控制台更换了服务端证书和 CA 证书,对应的客户端需要更新证书,以免因为服务端和客户端证书更新不同步导致认证报错。为了保证证书切换过程平滑,消息队列 MQTT 版在你修改完成证书后,会提供十分钟左右的过渡时间,此时间内,新旧证书的认证均会通过认证,请你抓紧时间完成旧证书在客户端代码中的替换。
三、开启双向认证
1. 登录 MQTT 控制台。
2. 在左侧导航栏单击资源管理 > 集群管理,选择好地域后,单击要配置证书的集群的“ID”,进入集群基本信息页面。
3. 在基本信息页面选择认证管理,二级页签选择 X.509 证书管理,点击右侧的编辑图标 ,在弹窗中完成证书配置。
·认证方式:根据你的业务需求选择合适的认证方式,默认支持单向认证和双向认证两种认证方式,专业版/铂金版集群额外支持一机一证的模式(实际也是一种特殊的双向认证方式,具体使用详见 一机一证)。
·服务端证书:将使用 MQTT 提供的默认服务端证书,后续你也可以绑定自定义证书。
·CA 证书:若认证方式选择了双向认证,需要配置 CA 证书用于服务端对客户端的认证。
4. 单击提交,完成认证方式的配置,后续你需要配置相关的证书。
·服务端证书:用于客户端对服务端的认证,可以使用 MQTT 提供的默认服务端证书,也可以绑定自定义证书。
·CA 证书:用于服务端对客户端的认证,需手动配置。
四、步骤1:托管服务端证书
MQTT 支持加载托管在腾讯云 SSL 证书服务中的证书,请先在 SSL 证书控制台完成自签名证书托管或购买证书。具体步骤请参考 上传 SSL 证书指引和 SSL 证书购买流程。
五、步骤2:绑定服务端证书
1. 登录 MQTT 控制台。
2. 在左侧导航栏单击资源管理 > 集群管理,选择好地域后,单击目标集群的“ID”,进入集群基本信息页面。
3. 在集群详情页,选择服务端证书管理页签,单击左上角的绑定自定义证书。
·证书来源:选择 SSL 证书。
·服务端证书:在下拉框中勾选托管到腾讯云的 SSL 证书。
4. 单击提交,完成绑定。
注意:说明:
六、步骤3:配置自定义域名
添加证书后,为了保证客户端的正常连接,证书域名的 CNAME 配置需要进行如下对应修改。如你的域名维护在腾讯云上,你可以前往 云解析控制台 修改。
| 参数 | 填写说明 |
| 主机记录 | 填写使用证书的域名 |
| 记录类型 | CNAME |
| 记录值 | 如使用公网,填写 -。如使用 VPC 内网,填写 mqtt-xxxx-nj-vpce-xxx.mqtt.tencenttdmq.com。 |
| MX 优先级 | 无需填写 |
| TTL(秒) | 建议保持为默认值600s |
假设选择的服务端证书 Subject Alternative Name 包含以下域名:mqtt-abc.compay.com。
参考 云解析-CNAME 记录,创建一个 CNAME 记录,将 mqtt-abc.compay.com 解析到集群的接入点提供的域名: mqtt-xxx-sh-public.mqtt.tencenttdmq.com,后续可以通过 mqtt-abc.company.com访问集群。
七、禁用默认服务端证书
在绑定其他自定义证书后,可以禁用 TDMQ MQTT 版提供的默认服务端证书,具体步骤如下:
在服务端证书管理页面,单击默认服务器证书操作栏的禁用,在弹窗中确认后可以禁用默认证书。
八、解绑自定义证书
若你不再需要配置的自定义证书,可以将其解绑。解绑后,将无法通过证书对应的域名进行连接。
九、步骤1:托管 CA 证书
MQTT 支持加载托管在腾讯云 SSL 证书服务中的证书,请先在 SSL 证书控制台完成自签名证书托管或购买证书。具体步骤请参考 上传 SSL 证书指引和 SSL 证书购买流程。
十、步骤2:绑定 CA 证书
1. 登录 MQTT 控制台。
2. 在左侧导航栏单击资源管理 > 集群管理,选择好地域后,单击目标集群的“ID”,进入集群基本信息页面。
3. 在集群详情页,选择 CA 证书管理页签,单击左上角的绑定自定义证书。
·证书来源:选择 SSL 证书。需授权 MQTT 服务可以下载并应用 SSL 证书能力。
·CA 证书:在下拉框中勾选托管到腾讯云的 SSL 证书。
4. 单击提交,完成绑定。
十一、解绑证书
若你不再需要配置的 CA 证书,可以将其解绑。解绑后,将无法通过证书进行连接。
十二、配置 TLS 版本(可选)
若你的集群中部分设备或 SDK 因仅支持特定版本的 TLS 协议,导致与默认配置的服务端无法完成握手而连接失败时,可通过 TLS 协议版本配置的功能调整服务端所支持的 TLS 协议版本范围,使通信双方能够协商出一个共同认可的协议版本,从而解决因版本不匹配产生的兼容性问题,确保所有组件都能成功建立安全连接,保障集群通信的稳定性。
注意:修改服务端支持的 TLS 协议版本配置后,将立即生效,影响集群下所有新连接/重新连接的客户端,请谨慎操作。
服务端默认支持 TLS 1.0 至 TLS 1.3 的全部版本,如需修改可参考如下配置步骤:
1. 进入 集群管理 > 认证管理,二级页签选择 X.509 证书管理,单击 TLS 协议版本配置右侧的编辑图标 。
2. 在弹窗中选择支持的 TLS 版本范围。由于TLS协议仅支持开启连续版本或单一版本,因此修改配置方法如下:
·若要启用连续版本(如 TLS 1.1 和 TLS 1.2):请先选择其中一个版本作为“最低版本”,再选择另一个版本作为“最高版本”,单击确定提交配置。
·若要仅启用单个版本(如仅启用 TLS 1.2):请连续两次单击该版本,单击确定提交配置。