tencent cloud

消息队列 MQTT 版

动态与公告
新功能发布记录
产品简介
TDMQ 产品系列介绍与选型
什么是消息队列 MQTT 版
应用场景
技术架构
产品系列
MQTT 协议兼容说明
开源对比
高可用
产品约束与使用配额
基本概念
开服地域
购买指南
计费概述
续费说明
查看消费明细
欠费说明
退费说明
快速入门
入门流程指引
准备工作
公网接入
VPC 网络接入
用户指南
使用流程指引
配置账号权限
新建集群
管理 Topic
连接集群
查询消息
管理客户端
管理集群
查看监控和配置告警
数据集成
集成数据到云函数 SCF
集成数据到 CKafka
集成数据到 RocketMQ
开发指南
MQTT 5 高级特性
数据面 HTTP 接口说明
配置自定义域名
配置 SQL 过滤
配置点对点订阅
MQTT over QUIC
管理客户端订阅
消息增强规则
实践教程
MQTT 客户端开发注意事项
可观测能力
Topic 与通配符订阅
API 参考
History
Introduction
API Category
Making API Requests
Cluster APIs
Topic APIs
Authorization Policy APIs
User APIs
Client APIs
Message Enhancement Rule APIs
Message APIs
Data Types
Error Codes
SDK 参考
接入点格式
Java SDK
C SDK
Javascript/Node.JS/小程序
Go SDK
iOS SDK
JavaScript SDK
Dart SDK
Python SDK
.NET
安全与合规
权限管理
常见问题
相关协议
隐私协议
数据处理和安全协议
消息队列 MQTT 版服务等级协议
联系我们

步骤2:配置服务端证书

PDF
聚焦模式
字号
最后更新时间: 2026-01-30 15:10:01
服务端证书用于客户端认证服务端,服务端会使用您选择的证书和客户端建联。为了保证集群的安全,消息队列 MQTT 版提供了默认的服务端证书进行单向认证,如需要使用自有证书进行认证,可以参考本文指引绑定自定义证书。服务端证书需要由您自行购买或自行签发后,托管到 腾讯云 SSL 证书,再在 MQTT 控制台完成配置。

前提条件

已获取 CA 证书。
已安装OpenSSL v1.1.1i或以上版本。

步骤1:准备证书

证书要求

为确保兼容性与安全性,服务端证书 (End Entity Certificate) 须满足以下要求:
1. 必须包含 X.509 v3 Extended Key Usage 扩展,扩展必须包含 serverAuth(TLS Web Server Authentication)参考RFC 5280标准;
即证书应包含必要的 Subject Alternative Name(SAN) 扩展和 Common Name(CN)。由公共可信证书颁发机构 (CA) 签发的证书通常已默认包含上述必要扩展。
说明:
如果证书同时包含 CN 和 SAN,TLS Server Name Indication(SNI) 选择证书时,会优先匹配 SAN 扩展中的域名,如果 SAN 不存在,会兼容使用 CN 字段进行匹配。
现在主流浏览器已忽略 CN 匹配,如 Chrome 58及以上版本,因此在使用 Web Secure Socket 作为 MQTT 传输层时,务必确保 SAN 扩展和 Server Auth 值设置正确。
2. 证书链最多包含5个证书。
3. 证书链文件不超过16 KiB。

使用 CA 证书生成服务端证书

您可以向可信证书颁发机构购买服务端证书,也可以使用 CA 证书签发服务端证书,CA 证书获取方式,请参见 CA 证书。以下以 RSA 算法为例,简单介绍如何使用 CA 证书生成服务端证书。
如果您使用自签的 CA 证书来生成服务端,您可以按照以下指引来生成,服务端证书生成完成后,您可以上传到 SSL 证书
1. 创建一个名称为 client.csr.cfg 的文件,文件内容按照实际情况对下文进行修改。
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn

[dn]
C=CN
ST=SHXXX
L=SH
O=TX
OU=MQTT
emailAddress=xxx@xxx
CN=client-test
2. 创建一个名称为 client.crt.cfg 的文件,内容如下:
authorityKeyIdentifier=keyid,issue
rbasicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyCertSign
3. 执行如下命令生成服务端证书私钥和验证证书的签发请求文件(csr)。
Mac
Windows
openssl req -new -sha256 -nodes -out client.csr -newkey rsa:2048 -keyout client.key -config <(cat client.csr.cfg)
openssl req -new -sha256 -nodes -out client.csr -newkey rsa:2048 -keyout client.key -config client.csr.cfg
4. 执行如下命令生成服务端证书。
openssl x509 -req -in client.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out client.crt -days 500 -sha256 -extfile client.crt.cfg

步骤2:托管服务端证书

将准备好的证书托管到腾讯云 SSL 证书服务,具体操作请参考 上传 SSL 证书指引

步骤3:绑定自定义证书

1. 登录 MQTT 控制台
2. 在左侧导航栏单击资源管理 > 集群管理,选择好地域后,单击目标集群的“ID”,进入集群基本信息页面。
3. 在集群详情页,选择服务端证书管理页签,单击左上角的绑定自定义证书
证书来源:选择 SSL 证书。
服务端证书:在下拉框中勾选托管到腾讯云的 SSL 证书。
4. 单击提交,完成绑定。


步骤4:配置自定义域名

添加证书后,为了保证客户端的正常连接,证书域名的 CNAME 配置需要进行如下对应修改。如您的域名维护在腾讯云上,您可以前往 云解析控制台 修改。
参数
填写说明
主机记录
填写使用证书的域名
记录类型
CNAME
记录值
如使用公网,填写 -。
如使用 VPC 内网,填写 mqtt-xxxx-nj-vpce-xxx.mqtt.tencenttdmq.com。
MX 优先级
无需填写
TTL(秒)
建议保持为默认值600s
假设选择的服务端证书 Subject Alternative Name 包含以下域名:mqtt-abc.company.com
参考 云解析-CNAME 记录,创建一个 CNAME 记录,将 mqtt-abc.company.com 解析到集群的接入点提供的域名: mqtt-xxx-sh-public.mqtt.tencenttdmq.com,后续可以通过 mqtt-abc.company.com访问集群。

步骤5:(可选)禁用默认服务端证书

在绑定其他自定义证书后,可以禁用 TDMQ MQTT 版提供的默认服务端证书,具体步骤如下:
在服务端证书管理页面,单击默认服务器证书操作栏的禁用,在弹窗中确认后可以禁用默认证书。




帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈