调用GetDeviceCertificate接口查询指定设备证书的详细信息。
背景信息
设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。更多信息,请参见客户端证书认证。
使用限制
- 仅铂金版实例支持使用GetDeviceCertificate接口。
- 单用户请求频率限制为500次/秒。如有特殊需求,请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | GetDeviceCertificate | 系统规定参数。取值:GetDeviceCertificate。 |
MqttInstanceId | String | 是 | post-cn-7mz2d****** | 设备证书所绑定的实例ID,即云消息队列 MQTT 版的实例ID。 |
DeviceSn | String | 是 | 356217374433****** | 待查询设备证书的SN序列号,用于唯一标识一个设备证书。 取值范围:不超过128 Byte。 |
CaSn | String | 是 | 007269004887****** | 待查询设备证书所属的CA证书的SN序列号,用于唯一标识一个CA证书。 取值范围:不超过128 Byte。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
RequestId | String | 020F6A43-19E6-4B6E-B846-44EB31DF**** | 公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。 |
Data | Object | 证书详细信息。 |
|
ValidBegin | String | 1654137303000 | 设备证书生效的起始时间。格式为毫秒级别的Unix时间戳。 |
ValidEnd | String | 1969497303000 | 设备证书生效的终止时间。格式为毫秒级别的Unix时间戳。 |
DeviceSn | String | 356217374433****** | 设备证书的SN序列号,用于唯一标识一个设备证书。 |
DeviceName | String | mqtt_device | 设备证书的名称。 |
DeviceContent | String | -----BEGIN DEVICECERTIFICATE-----\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\n-----END DEVICECERTIFICATE----- | 设备证书的内容。 \n表示换行。 |
CaSn | String | 00f26900ba87****** | 设备证书所属的CA证书的SN序列号,用于唯一标识一个CA证书。 |
Status | String | 1 | 设备证书的状态。取值如下:
说明 设备证书注册后,默认为激活状态。 |
示例
请求示例
http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=GetDeviceCertificate
&MqttInstanceId=post-cn-7mz2d******
&DeviceSn=356217374433******
&CaSn=007269004887******
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<GetDeviceCertificateResponse>
<RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>
<Data>
<ValidBegin>1654137303000</ValidBegin>
<ValidEnd>1969497303000</ValidEnd>
<DeviceSn>356217374433******</DeviceSn>
<DeviceName>mqtt_device</DeviceName>
<DeviceContent>-----BEGIN DEVICECERTIFICATE-----\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\n-----END DEVICECERTIFICATE-----</DeviceContent>
<CaSn>00f26900ba87******</CaSn>
<Status>1</Status>
</Data>
</GetDeviceCertificateResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "020F6A43-19E6-4B6E-B846-44EB31DF****",
"Data" : {
"ValidBegin" : "1654137303000",
"ValidEnd" : "1969497303000",
"DeviceSn" : "356217374433******",
"DeviceName" : "mqtt_device",
"DeviceContent" : "-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----",
"CaSn" : "00f26900ba87******",
"Status" : "1"
}
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | ParameterFieldCheckFailed | Failed to validate the parameters. The parameters may be missing or invalid. | 参数校验失败,可能缺失或者传入值非法。 |
500 | FindDeviceBySnError | Failed to find the device certificate by the SN. Please check sn is valid | 获取设备证书失败 |
500 | MqttInstanceNotFound | Specified instance is not found | 实例不存在 |
500 | MqttOwnerCheckError | Failed to validate the instance permission | 实例权限校验失败 |
访问错误中心查看更多错误码。
控制台操作
除了调用GetDeviceCertificate接口,您还可以通过微消息队列MQTT版控制台查看指定设备证书的详细信息。具体操作,请参见CA证书管理。