V2.0 List Certificate


显示设备绑定的证书列表。

该 API 支持在 EnOS 2.1.0 及以上环境中使用。

操作权限


使用此 API 前,确保服务账号已被授予包含下列服务和操作权限的策略。有关授权服务账号的更多信息,参见 管理服务账号


需授权的服务

所需操作权限

证书

Read

请求格式

GET https://{apigw-address}/connect-service/v2.0/certificates?action=list

请求参数 (URI)

备注

以下非必需字段中,必须提供 assetIdproductKey + deviceKey 的组合,用于指定设备。

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织 ID。如何获取 orgId 信息>>

assetId

Query

可选(见上述注解)

String

资产 ID。如何获取 assetId 信息>>

productKey

Query

可选(见上述注解)

String

设备的 product key,需与 deviceKey 一起使用。如何获取设备的三元组信息>>

deviceKey

Query

可选(见上述注解)

String

设备的 device key,需与 productKey 一起使用。如何获取设备的三元组信息>>

响应参数

名称

数据类型

描述

data

DeviceCertDetailInfo 结构体数组

返回的证书列表。在大多数情况下,只有一个证书会被返回。如果资产有多个证书,只有一个是有效的。有关 DeviceCertDetailInfo 的定义,见 DeviceCertDetailInfo 结构体。

DeviceCertDetailInfo 结构体

名称

数据类型

描述

certSN

String

证书编号。

cert

String

申请到的证书内容。

certStatus

Integer

证书状态: - 0: Valid - 1: Revoked - 2: Expired

issuer

String

签发者信息。

subject

String

请求主体信息。

signDate

long

签发时间时间戳。

effectiveDate

long

证书开始生效的时间戳。

expireDate

long

证书过期的时间戳。

revoker

String

certStatus 为 1 时才会出现。表示撤销者。

revokerReason

String

certStatus 为 1 时才会出现。表示撤销原因。

错误码

代码

类型

描述

解决方法

99400

invalid argument: Device identifier is invalid

设备标识符无效。

在请求中声明 assetIdproductKey + deviceKey 以指定设备。

99400

Call ca error!: Certificate service err info:, code: (code), message: (message content), detail message: (detailed message content)

调用EnOS证书服务参数异常。

详细错误信息原因由message或 detail message给出。

99400

Query cert is failed!message: (message content), detail message: (detailed message content)

查询证书失败。

详细错误信息原因由message或 detail message给出。

99400

When calling Certificate Services, the call parameters are invalid.message: (message content), detail message: (detailed message content)

当调用证书服务时,调用参数无效。

详细错误信息原因由message或 detail message给出。

11404

Device cannot be found

设备未找到。

确认该设备确实存在。

99500

Internal error of certificate service

设备连接与管理证书服务内部错误。

联系管理员。

99500

Internal error of product service.

设备连接与管理产品服务内部错误。

联系管理员。

99500

Internal error of IoT hub service

设备连接与管理内部服务错误。

联系管理员。

示例

请求示例

url: https://{apigw-address}/connect-service/v2.0/certificates?action=list&assetId=yourAssetId&orgId=youOrgId
method: GET

响应示例

{
    "code": 0,
    "msg": "OK",
    "requestId": "318d8b1f-1f27-4dd4-8299-b75a2015d425",
    "data": [
        {
            "certSN": "52725",
            "cert": "52725",
            "certStatus": 1,
            "issuer": "EMAILADDRESS=ca@eniot.io, CN=EnOS CA, OU=EnOS CA, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "subject": "EMAILADDRESS=xT7EaR, OU=EnOS, CN=xMen1, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "signDate": 1581216505000,
            "effetiveDate": 1581216505000,
            "expireDate": 1582080505000,
            "revoker": "IoT_Hub",
            "revokerReason": "KEY COMPROMISE",
            "isEnosCert": true,
            "issueAuthority": "RSA"
        },
        {
            "certSN": "52726",
            "cert": "52726",
            "certStatus": 0,
            "issuer": "EMAILADDRESS=ca@eniot.io, CN=EnOS ECC CA, OU=EnOS, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "subject": "EMAILADDRESS=uKGdK, OU=EnOS, CN=yPI9z8z, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "signDate": 1581218161000,
            "effetiveDate": 1581218161000,
            "expireDate": 1582082161000,
            "audit": {
                "createBy": "youOrgId",
                "createTime": 1581218161773,
                "updateBy": "youOrgId",
                "updateTime": 1581218161773,
                "ns": "youOrgId",
                "deleted": false
            },
            "revoker": "",
            "revokerReason": "",
            "isEnosCert": true,
            "issueAuthority": "ECC"
        },
        {
            "certSN": "52727",
            "cert": "52727",
            "certStatus": 2,
            "issuer": "EMAILADDRESS=ca@eniot.io, CN=EnOS ECC CA, OU=EnOS, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "subject": "EMAILADDRESS=xT7EaR, OU=EnOS, CN=xMen1, O=EnOS, L=Shanghai, ST=Shanghai, C=CN",
            "signDate": 1581234648000,
            "effetiveDate": 1581234648000,
            "expireDate": 1581493848000,
            "revoker": "",
            "revokerReason": "",
            "isEnosCert": true,
            "issueAuthority": "ECC"
        }
    ]
}

SDK 示例


你可以在 Github 上获取接入服务的 SDK 示例: