调用ListDeviceCertificate接口分页查询指定实例下所有注册的设备证书。

背景信息

设备证书是由CA根证书签发给客户端设备使用的数字证书,用于客户端和服务端连接时,服务端对客户端进行安全认证。认证通过后服务端和客户端可基于证书内的加密密钥进行安全通信,若认证不通过则服务端拒绝客户端接入。更多信息,请参见客户端证书认证

使用限制

  • 仅铂金版实例支持使用ListDeviceCertificate接口。
  • 单用户请求频率限制为500次/秒。如有特殊需求,请联系云消息队列 MQTT 版技术支持,钉钉群号:35228338。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ListDeviceCertificate

系统规定参数。取值:ListDeviceCertificate

MqttInstanceId String post-cn-7mz2d******

云消息队列 MQTT 版的实例ID,表示需要查看哪个实例下的所有设备证书。

PageNo String 2

查询第几页的返回结果。起始页从第1页开始计算。

PageSize String 10

每页最多显示几条查询记录。

取值范围:1~100。

返回数据

名称 类型 示例值 描述
RequestId String 020F6A43-19E6-4B6E-B846-44EB31DF****

公共参数,每个请求的ID都是唯一的,可用于排查和定位问题。

Data Object

查询结果。

Total Integer 1

查询结果最大页数。

PageNo Integer 2

当前返回的查询记录是第几页。

PageSize Integer 10

每页显示的最大结果数。

DeviceCertificateVOS Array of DeviceCertificateVO

设备证书的详细信息。

ValidBegin String 1654137303000

设备证书生效的起始时间。格式为毫秒级别的Unix时间戳。

ValidEnd String 1969497303000

设备证书生效的终止时间。格式为毫秒级别的Unix时间戳。

DeviceSn String 356217374433******

设备证书的SN序列号,用于唯一标识一个设备证书。

DeviceContent String -----BEGIN DEVICECERTIFICATE-----\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\n-----END DEVICECERTIFICATE-----

设备证书的内容。

\n表示换行。

Status String 1

设备证书的状态。取值如下:

  • 0:表示证书为未激活状态。
  • 1:表示证书为激活状态。

设备证书注册后,默认为激活状态。

CaSn String 00f26900ba87******

设备证书所属的CA证书的SN序列号,用于唯一标识一个CA证书。

DeviceName String mqtt_device

设备证书的名称。

示例

请求示例

http(s)://onsmqtt.cn-hangzhou.aliyuncs.com/?Action=ListDeviceCertificate
&MqttInstanceId=post-cn-7mz2d******
&PageNo=2
&PageSize=10
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<ListDeviceCertificateResponse>
    <RequestId>020F6A43-19E6-4B6E-B846-44EB31DF****</RequestId>
    <Data>
        <Total>1</Total>
        <PageNo>2</PageNo>
        <PageSize>10</PageSize>
        <DeviceCertificateVOS>
            <ValidBegin>1654137303000</ValidBegin>
            <ValidEnd>1969497303000</ValidEnd>
            <DeviceSn>356217374433******</DeviceSn>
            <DeviceContent>-----BEGIN DEVICECERTIFICATE-----\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\n-----END DEVICECERTIFICATE-----</DeviceContent>
            <Status>1</Status>
            <CaSn>00f26900ba87******</CaSn>
            <DeviceName>mqtt_device</DeviceName>
        </DeviceCertificateVOS>
    </Data>
</ListDeviceCertificateResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "020F6A43-19E6-4B6E-B846-44EB31DF****",
  "Data" : {
    "Total" : 1,
    "PageNo" : 2,
    "PageSize" : 10,
    "DeviceCertificateVOS" : [ {
      "ValidBegin" : "1654137303000",
      "ValidEnd" : "1969497303000",
      "DeviceSn" : "356217374433******",
      "DeviceContent" : "-----BEGIN DEVICECERTIFICATE-----\\nMIIDuzCCAqdGVzdC5jbi1xaW5n******\\n-----END DEVICECERTIFICATE-----",
      "Status" : "1",
      "CaSn" : "00f26900ba87******",
      "DeviceName" : "mqtt_device"
    } ]
  }
}

错误码

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 实例权限校验失败

访问错误中心查看更多错误码。

控制台操作

除了调用ListDeviceCertificate接口,您还可以通过微消息队列MQTT版控制台查看指定实例下所有注册的设备证书。具体操作,请参见设备证书管理