步骤4:配置客户端证书

最近更新时间:2025-09-22 10:39:43

我的收藏
客户端证书是由 CA 证书签发给客户端设备的数字证书,客户端在与服务端建立连接时,服务端会根据客户端证书对客户端的身份进行安全验证。验证成功后,双方可借助证书中内置的加密密钥实现安全通信;若验证未通过,服务端将拒绝该客户端的连接请求。

约束与限制

每秒注册的客户端证书最多数量为15个,超出后注册失败。

前提条件

已注册 CA 证书。具体步骤请参考配置 CA 证书

注册客户端证书

客户端证书支持手动注册自动注册两种方式。注册方式在开启一机一证时指定,具体步骤请参考开启一机一证

自动注册客户端证书

如果选择自动注册客户端,则客户端在和服务端连接时,服务端会校验客户端证书关联的 CA 证书是否已经注册,如果对应的 CA 证书未注册,则认证不通过,客户端连接会被拒绝。
如果对应的 CA 证书已注册,则认证通过,客户端证书会被自动注册并出现在客户端证书管理页面。

手动注册客户端证书

步骤1:使用 CA 证书生成客户端证书

以下以 RSA 算法为例,简单介绍如何使用 CA 证书生成服务端或客户端证书。
如果您使用自签的 CA 证书来生成客户端证书,您可以按照以下指引来生成。
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,issuer
basicConstraints=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:注册客户端证书

1. 登录 MQTT 控制台
2. 在左侧导航栏单击资源管理 > 集群管理,选择好地域后,单击要配置证书的集群的“ID”,进入集群基本信息页面。
3. 进入客户端证书管理页面,单击注册客户端证书。在以下弹窗填写客户端证书的相关信息:
证书来源:手动注册。
CA 证书:选择已经注册了的 CA 证书。
客户端证书:按照文件格式要求上传已签发好的客户端证书。
客户端 ID:“一机一证” 场景下的补充字段,非必填,您可以根据实际场景填写。如果客户端连接时传的 client id 为空,该字段会被认为表示 client id;如果 client id 和该字段均为空,则服务端会以客户端证书的 Common Name 字段为准。因此假设客户端没有传 client id 的情况下,请注意保证该字段不要有重复的情况。
是否激活:客户端证书注册后的生效状态,默认开启。您也可以在注册完成后,在控制台手动开启。


4. 单击提交,完成客户端证书注册。

管理客户端证书

客户端证书完成注册后,在客户端证书的列表页,可以查看已经注册的证书的状态,客户端证书有三种状态:已激活、未激活、已吊销。已吊销的证书可以被删除。

您可以随时在页面管理已注册的客户端证书。
操作
操作路径
说明
筛选生效/失效时间
单击生效/失效时间旁的

图标
筛选出已失效和即将失效(30天内即将过期)的客户端证书。
取消激活证书
单击操作栏的激活证书
证书取消激活后,使用当前证书的客户端在连接时会被拒绝,因此在进行证书的状态流转时需要特别注意对于客户端连接的影响。
删除证书
单击操作栏的更多 > 删除
证书处于激活状态下,不支持被删除,只有处于“未激活”或者“已吊销”状态的证书可以正常删除。
吊销证书
单击操作栏的更多 > 吊销
吊销客户端证书后,将无法再激活使用证书,证书状态改变后,新状态实际生效有分钟级的延时。
查看证书详情
点击证书的序列号
在证书详情页面,会展示证书如下信息:
基础信息: 展示证书的状态、Common Name、Serial Number 等信息。
关联的客户端:展示当前证书关联的客户端列表。