云消息队列 MQTT 版支持X.509证书认证,客户端可通过设备证书完成接入认证。CA证书用于为客户端签发设备证书,并验证设备证书的正确性,您需要先将申请的CA证书注册到云消息队列 MQTT 版的服务端上,才能用于认证设备证书。本接口用于将指定CA证书注册到云消息队列 MQTT 版服务端。
接口说明
- 仅铂金版和专业版实例支持使用 RegisterCaCertificate 接口。
- 单用户请求频率限制为 500 次/秒。如有特殊需求,请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
|---|---|---|---|---|
| mq:RegisterCa | create | *Instance acs:mq:{#regionId}:{#accountId}:{#InstanceId} |
|
|
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| MqttInstanceId | string | 是 | 云消息队列 MQTT 版的实例 ID。注册 CA 证书时,需要指定一个实例进行绑定。 | post-cn-7mz2d****** |
| CaName | string | 是 | 待注册 CA 证书的名称。 | mqtt_ca |
| CaContent | string | 是 | 待注册 CA 证书的内容。 说明
示例中的\n 表示换行。
| -----BEGIN CERTIFICATE-----\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\n-----END CERTIFICATE----- |
| VerificationContent | string | 是 | 待注册 CA 证书的验证证书的内容。和 CA 证书的注册码一起使用,用于验证用户拥有该 CA 证书的私钥。 说明
示例中的\n 表示换行。
| -----BEGIN CERTIFICATE-----\nMIID/DCCAu+Y5sRMpp9tnd+4s******\n-----END CERTIFICATE----- |
返回参数
示例
正常返回示例
JSON格式
{
"RequestId": "020F6A43-19E6-4B6E-B846-44EB31DF****",
"Sn": "007269004887******"
}错误码
| HTTP status code | 错误码 | 错误信息 | 描述 |
|---|---|---|---|
| 400 | ParameterFieldCheckFailed | Failed to validate the parameters. The parameters may be missing or invalid. | 参数校验失败,可能缺失或者传入值非法。 |
| 400 | InstancePermissionCheckFailed | An error occurred while validating the permissions of the instance. Please verify the account that created the instance and its permissions settings. | 实例权限校验失败,请确认MQTT实例的所属关系以及授权策略。 |
| 400 | MqttOwnerCheckError | Failed to validate the instance permission | 实例权限校验失败 |
| 403 | PermissionCheckFailed | Failed to verify API permissions. | ram权限检查失败 |
| 500 | RegisterCodeError | Register code error in verification certificate. | 注册码错误 |
| 500 | RegisterCodeUsed | Register code has been used. | 注册码已经被使用过 |
| 500 | GetCaNumError | Failed to get ca num. Try again later. | 获取CA数量错误 |
| 500 | CaNumExceed | CA certificate num exceed | CA数量超出限制 |
| 500 | CertificateContentError | Certificate content error, please check ca/verification certificate content. BasicConstraints extension should be set to true in CA certificate | 用户CA证书或者验证证书内容错误 |
| 500 | SnNotUnique | Sn is not unique in gloabal | SN 不是全局唯一的 |
| 500 | MqttInstanceNotFound | Specified instance is not found | 实例不存在 |
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 |
|---|---|---|
| 2025-02-18 | OpenAPI 错误码发生变更 | 查看变更详情 |
| 2024-03-20 | OpenAPI 错误码发生变更 | 查看变更详情 |
| 2022-08-24 | OpenAPI 错误码发生变更 | 查看变更详情 |
控制台操作
除了调用 RegisterCaCertificate 接口,您还可以通过微消息队列 MQTT 版控制台注册 CA 证书。具体操作,请参见 CA 证书管理。
