函谷物联安全系统HISK

    接口说明

    CA证书接口

    创建CA根证书

    方法 api 说明
    POST /v1/pki/rootcert?clientToken={clientToken} 建一个CA根证书,用来签发服务端子证书和客户端子证书

    请求参数

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    certRequestInfo CertRequestInfo 证书请求信息,CertRequestInfo对象。每个字段1 ~ 40个字符

    CertRequestInfo对象

    字段名称 类型 是否必须 说明(每个字段1 ~ 40个字符)
    country String 国家
    commonName String 名称,唯一标志
    organization String 组织机构
    unit String 组织单元
    emailAddress String 邮件联系地址

    返回参数

    字段名称 类型 是否必须 说明
    certId String CA根证书唯一ID

    请求示例

    POST /v1/pki/rootcert?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T02:57:42Z
    content-type: application/json
    {
        "duration" : 700,
        "certRequestInfo" : {
            "country" : "CN",
            "commonName" : "root774076",
            "organization" : "Baidu corp",
            "unit" : "ait",
            "emailAddress" : "zhangsan@baidu.com"
        }
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: aaede8ef-49d8-4656-98fa-5bb2d4994945
    Content-Type: application/json;charset=UTF-8
    {
        "certId":"591eee7ccd51403a948d9e3837498661"
    }

    删除CA根证书

    方法 api 说明
    DELETE /v1/pki/rootcert/{certid} 删除一个根证书,若有子证书存在,则拒绝删除此根证书。

    请求示例

    DELETE /v1/pki/rootcert/a9cab7e662894cc3a22df42d209a5a19 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T03:31:31Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: c85b2478-6608-4aee-90a6-3f9d1b16e352

    查询CA根证书

    方法 api 说明
    GET /v1/pki/rootcert/{certid} 查询CA证书,同时返回CA证书。

    返回参数

    字段名称 类型 是否必须 说明
    crl String 过期作废列表的URL。
    downloadUrl String 下载链接,
    /v1/pki/rootcert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    GET /v1/pki/rootcert/a9cab7e662894cc3a22df42d209a5a19 HTTP/1.1
    authorization:{authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T03:31:30Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 22b7f79a-5c25-463f-9ff3-d51322041a3a
    Content-Type: application/json;charset=UTF-8
    {
        "crl":"https://pkiiov.baidubce.com/v1/pki/crl?cmd=crl&format=PEM&issuer=C%3DCN%2C+O%3DBaidu+corp%2C+OU%3Dait%2C+CN%3Droot119276%2C+EMAILADDRESS%3Dzhangsan%40baidu.com",
        "downloadUrl":"https://pkiiov.baidubce.com/v1/pki/rootcert/a9cab7e662894cc3a22df42d209a5a19/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T03%3A31%3A31Z%2F86400%2Fhost%2F28795a15e02a9cd8735ad5221eb18727693b93369f27b2baf374443840d96cb2&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"
    }

    子证书接口

    创建分组

    方法 api 说明
    POST /v1/pki/certgroup?clientToken={clientToken} 创建一个组,用来管理子证书。

    请求参数CreateCertGroupRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    rootCertId String 分组所属根证书ID
    groupName String 1 ~ 32个字符,组名

    返回参数CreateCertGroupResponse

    字段名称 类型 是否必须 说明
    groupId String 组唯一ID

    请求示例

    POST /v1/pki/certgroup?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T03:54:34Z
    content-type: application/json
    {
    "rootCertId" : "8ad516514b374e258f2e4cb13feaa294",
    "groupName" : "root5group"
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 0208cb35-3c7a-4963-96c6-c2de78178f69
    Content-Type: application/json;charset=UTF-8
    {"groupId":"7686c05c1e4c47308b66eb8f90767d5f"}

    删除分组

    方法 api 说明
    DELETE /v1/pki/certgroup/{groupid} 删除一个分组,若有子证书存在,则拒绝删除此分组。

    示例同 删除CA根证书

    查询分组

    方法 api 说明
    GET /v1/pki/certgroup/{groupid} 查询分组

    返回参数GetCertGroupResponse

    字段名称 类型 是否必须 说明
    rootCertId String 根证书ID
    serverCerts array[String] 服务端子证书ID列表
    clientCerts array[String] 客户端子证书ID列表

    请求示例

    GET /v1/pki/certgroup/885e7b6c49aa452aa3d8c9228b466d49 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T04:27:00Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 99bf7bf9-adbb-4a33-b08b-7628914d8110
    Content-Type: application/json;charset=UTF-8
    {"rootCertId":"c461aedaf99e49fbb467b5d9110eff74","serverCerts":[],"clientCerts":[]}

    创建服务器端子证书

    方法 api 说明
    POST /v1/pki/servercert?clientToken={clientToken} 签发一个服务器端子证书。

    请求参数CreateServerCertRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    groupId String 分组ID
    deviceId String 1 ~ 36个字符,服务端设备ID
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    address array[String] 数组,传入签发服务证书的url地址组。
    csr String 标准CSR请求数据,使用BASE64编码,PEM格式。注意:新创建证书的CN不能与当前没有废弃的子证书的CN相同,但可以与已经废弃的子证书的CN相同。

    返回参数CreateSubCertResponse

    字段名称 类型 是否必须 说明
    certId String 证书唯一ID
    downloadUrl String 下载链接,
    /v1/pki/servercert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)。

    请求示例

    POST /v1/pki/servercert?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T06:05:23Z
    content-type: application/json
    {
     "groupId" : "9a6254a868864e6189cfdcd422ede08e",
     "deviceId" : "IOT_SERVER_T23",
     "duration" : 300,
     "csr" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQjEOMAwGA1UECgwFQmFpZHUxCzAJBgNVBAYTAkNOMRUwEwYD\nVQQDDAxzZXJ2ZXI4MjQ0MzMxDDAKBgNVBAsMA2FpdDCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAJy7qqDjTX2vAnqVR4QtPlx9ASdR+7fyyc17azIwsPyS\nr58HCPkEdaAleorMiAUbTGax6qpCj+G+4OqcnSzfE3HwXttsbPdcQnbMlHZMIawo\nNCKsmj3uEZFnv7NR69pRb8sU6ZzPaWztU2Fe46Q7DaaJMIb0f9g32lJ4iZ/6ebH9\ntpb0K8tGMQGANn+GHbwdbI1HelkNkDDN/O/5f8BkLKJl4+sv3OtmNkUTWeIZndKe\nRCLOrJMKH12wrMq4wKOnfrG66O0m9VrIf0pGLGGT88Nk4K6tPd0CvqTM7r5tvwiv\n4sEzAiCYAaCUT9iBtfyv0ZYBay5sIyBqN+7WkyXN7R0CAwEAATANBgkqhkiG9w0B\nAQsFAAOCAQEAALctkm/5zuPxkdQjbnhq3gyIT7Qz9H/z6yFL/3fObeaB9/37dNhB\nQ6/AMTIcxeDFkc19GxNHC7rqJqJrURucs+Z/2jlDu3wo+LGzjWCPym7TQvJaaIvl\nnbIriOaUSXw7yMH1ml33Mf+VgCLK+JQeJkZAdmWDTVSXJibM9WRmRmO1HkgXo7io\nJo8yHjBafWaDr4rOxfneQuqn9blShps2u1+bGCQd1es9k/ibtNf7RQtw2PKQJKyo\njx5hZYYekgIBk0gJrSOPR4ZEzDXlw6IF9v8LHte5PTJqqyMg2gTkCe6Bu0Zp55Bq\neUL2U9tIdbE2n6ECiLCpgW4fu+8TE18Kdg==\n-----END CERTIFICATE REQUEST-----\n",
     "address" : [ "iotserver-t23.baidubce.com" ]
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: c9710aee-84ef-4831-9ca2-655375c9ce82
    Content-Type: application/json;charset=UTF-8
    {"certId":"72b366abcbed4c4c9dd4676529abd8c8","downloadUrl":"https://pkiiov.baidubce.com/v1/pki/servercert/72b366abcbed4c4c9dd4676529abd8c8/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T06%3A05%3A27Z%2F86400%2Fhost%2Feca8fd83550e9ccfa14e6c30a5b67c78a16e1ecbd23bbc8fb103061b6b3230e1&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    删除服务器端子证书

    方法 api 说明
    DELETE /v1/pki/servercert/{certid} 删除一个服务器端子证书。

    示例同删除CA根证书

    查询服务器端子证书1

    方法 api 说明
    GET /v1/pki/servercert/{certid} 查询服务器端子证书。

    返回参数GetSubCertResponse

    字段名称 类型 是否必须 说明
    rootCertId String 根证书ID
    groupId String 分组ID
    downloadUrl String 下载链接,
    /v1/pki/servercert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    GET /v1/pki/servercert/0a891cc5fb2b4f519348c5662eaad62e HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T07:41:14Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: c26e00c5-21f1-402e-88b6-88f8b2b30cfc
    Content-Type: application/json;charset=UTF-8
    {"rootCertId":"7ff2619f20094b438f263588f6e9742e","groupId":"eb90ba976bd64d9991652381844e9365","downloadUrl":"https://pkiiov.baidubce.com/v1/pki/servercert/0a891cc5fb2b4f519348c5662eaad62e/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T07%3A41%3A14Z%2F86400%2Fhost%2Fa88e9b6f126faaa08fbee84cbae1bac3d29403c5e0a02ac236ca672d5af1e3d3&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    查询服务器端子证书2

    方法 api 说明
    GET /v1/pki/servercert/query?rootCertId={id}&groupId={groupId} 查询服务器端子证书信息。groupId为空或者不提供则返回根证书下所有服务器端子证书。rootCertId和groupId必须提供一个。

    返回参数QueryServerCertResponse

    字段名称 类型 是否必须 说明
    serverCerts array[String] 服务器端子证书ID列表

    请求示例

    GET /v1/pki/servercert/query?rootCertId=b2796f0f16d747669f07f8761d8bc51d&groupId=14647baaa14c45608848ce7fe224f144 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T08:23:42Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 7bb536ab-8166-4095-b69b-4477ed98445c
    Content-Type: application/json;charset=UTF-8
    {"serverCerts":[]}

    服务器端子证书变更

    方法 api 说明
    PUT /v1/pki/servercert/{certId}/renew?clientToken={clientToken} 变更一个服务器端子证书。

    请求参数RenewServerCertRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    newDeviceId String 1 ~ 36个字符,新的设备ID
    newAddress array[String] 数组,传入签发服务证书的url地址组。
    csr String 标准CSR请求数据,使用BASE64编码,PEM格式。注意:新创建证书的CN不能与当前没有废弃的子证书的CN相同,但可以与已经废弃的子证书的CN相同。

    返回参数RenewSubCertResponse

    字段名称 类型 是否必须 说明
    downloadUrl String 下载链接,
    /v1/pki/servercert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    PUT /v1/pki/servercert/30dcabfe777a483d8769efec04d67804/renew?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T08:35:36Z
    content-type: application/json
    {
     "newDeviceId" : "IotServert23_NEW",
     "duration" : 700,
     "csr" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQjEOMAwGA1UECgwFQmFpZHUxCzAJBgNVBAYTAkNOMRUwEwYD\nVQQDDAxzZXJ2ZXI3Mzc3ODMxDDAKBgNVBAsMA2FpdDCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBALAwGHia+AkPFO+yLqZ8Wia5onYtKczDFBkt4RAi6efd\njyHBMpvodF4/RaFCQJnYOOETX04rrroll4N688oOfTOkeXdK/ASYeXKbaRCdPLvQ\nbwAbz7yhLMj6ICOZYFYsBLTYj+3gJrp3puU+C1osBcyF2Qcr8kccEUz7ErSr39CX\nRw4gnC7RBua6m3VQRNTObwiRVZ/BgSg4jysPYK0cQTPVNj9XU9WC9Zn1ocFL5rmt\n8VpSNu2o+uTTxWMmcA8LSMfAUDO9QNYSXWX1pZKxzhaAE20/Q3w/p8vaCOXB+161\nHnd2F172M3JGi/hPhINoX6/2jC+WVlRTW42lItMZ0WkCAwEAATANBgkqhkiG9w0B\nAQsFAAOCAQEABrPcDw208aXiy6rGhfhxaer6OyMvUqd77oWAtw+G4ZbinEMkQcHg\nRgpuO3ayg3GX2Iea+4V4u7G0v6ZDq4mDubmK+bxbqkdRdFniAWc4pcWz0HWHTBpb\n9N217hwDoL95NvXYG5rVux751VKY8UI6zajlIUn0f6Zp7pLMgdDSVSgFL2TMJ83X\nJS5UI2leVtrruR+XDoEiYVkVeThTJveGYd/DspA56mSqsS0+B489hqVf7qlcZ54m\n0iHyNYYpX2LQ26mPM4YujK1jn8I/O6xl7EBr/Ss3dXt0D9gakAaehlteVSCwFMcW\nNpRQB5f2yR/Gjw+Z6Ggo4722MedNB/v55g==\n-----END CERTIFICATE REQUEST-----\n",
     "newAddress" : [ "iotserver-t23n.baidubce.com" ]
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 81f53933-2afe-4255-9afa-2949d237d32d
    Content-Type: application/json;charset=UTF-8
    {"downloadUrl":"https://pkiiov.baidubce.com/v1/pki/servercert/30dcabfe777a483d8769efec04d67804/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T08%3A35%3A39Z%2F86400%2Fhost%2F749c3740ea1e91ff675c0cb65c1374162c1e8efeadb5cdde62573a4a4308a05f&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    创建客户端子证书

    方法 api 说明
    POST /v1/pki/clientcert?clientToken={clientToken} 签发一个客户端子证书。

    请求参数CreateSubCertRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    groupId String 分组ID
    deviceId String 1 ~ 36个字符,客户端设备ID
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    csr String 标准CSR请求数据,使用BASE64编码,PEM格式.注意:新创建证书的CN不能与当前没有废弃的子证书的CN相同,但可以与已经废弃的子证书的CN相同。

    返回参数CreateSubCertResponse

    字段名称 类型 是否必须 说明
    certId String 证书唯一ID
    downloadUrl String 下载链接,
    /v1/pki/clientcert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    POST /v1/pki/clientcert?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T08:41:56Z
    content-type: application/json
    {
     "groupId" : "7a66182c825b4aaba0aaeed43eff8e01",
     "deviceId" : "IOT_CLIENT_A3",
     "duration" : 200,
     "csr" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQjEOMAwGA1UECgwFQmFpZHUxCzAJBgNVBAYTAkNOMRUwEwYD\nVQQDDAxjbGllbnQzODQ0NTQxDDAKBgNVBAsMA2FpdDCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAKR5iHJGFqvSsYggkaOh2ZMUuveyAB0kHfyjdJzIYTUv\n35pZkI6ndI477Ou6gvBq38U3NMre3XAaMPiQvCeOmkdQuwEt5jwb0gnmNzfl/Eim\nt/UkCwli5ertyjuwlcxDMPlEkwn73rjl5KW/yoJTfnToQBSkklj5p08SKabiT9kI\n99AExo0rOghJx0mRk6uVrXjdl5v3msnT3GPKSPkAXH5+y9yRcynW4VYRP6tVT0NG\nXxWGGu6tHBh2inAg9+VFrDS6tWI8IeCkIlYe+ORMu+Ml5RiNlqyFVuWEUjbKsZfv\nbUQnXyxXc52i53JFo49iLTyzW4VTueCruFHC2tfmCNsCAwEAATANBgkqhkiG9w0B\nAQsFAAOCAQEATN/F37FOgLLINInlPwZHYcRyohVfZP2todwJpel7hxgRzrSoioDm\nSReubQdHz1df0SNTWFKwKAZObCkmByLo/SS/1q++gY8rRVcoo/pPMB+1av1s8n6t\n1ZfewJommKJVB0fUKDZtE7UJyjfJP0ZCbGBqzVJtIDE79FB+hbesbF/QosG3+wLL\nCN9Ps4I6vg5IAx9Rperv1auE347D0b/a/f76yUvVxCSlHauOlrpVTm2eCWjlq7Q6\n8tTCj/dfyco+MzSGBZbBYsIwjnGDeG1gRrbr2geeTONDZBJqKL1isPcU+7D7QjSv\nW1n2TpnkvPksRSOU0M5vGI+oIcuzazwxCQ==\n-----END CERTIFICATE REQUEST-----\n"
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 6f4b6fe1-8f8a-49d6-997e-ff4d41106c6c
    Content-Type: application/json;charset=UTF-8
    {"certId":"52db99ebfd1643b38f80cb8e236a8348","downloadUrl":"https://pkiiov.baidubce.com/v1/pki/clientcert/52db99ebfd1643b38f80cb8e236a8348/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T08%3A42%3A00Z%2F86400%2Fhost%2Fbad78d7dbd75e0efffa686a9f2d1eabc117c47f393d4ebb44f36e043fe669363&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    删除客户端子证书

    方法 api 说明
    DELETE /v1/pki/clientcert/{certid} 删除一个客户端子证书。

    示例同删除CA根证书

    查询客户端子证书1

    方法 api 说明
    GET /v1/pki/clientcert/{certid} 查询客户端子证书。

    返回参数GetSubCertResponse

    字段名称 类型 是否必须 说明
    rootCertId String 根证书ID
    groupId String 分组ID
    downloadUrl String 下载链接,
    /v1/pki/clientcert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    GET /v1/pki/clientcert/ca74bfdbaeb240af8f9c90979f4049a4 HTTP/1.1
    authorization:{authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T08:54:33Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 177c1919-7af3-4f39-986a-e5f3d2737456
    Content-Type: application/json;charset=UTF-8
    {"rootCertId":"ebeb2d5661d848759a1fc52333e5d2f4","groupId":"c1eb797340034137a6a92053bb4d47e4","downloadUrl":"https://pkiiov.baidubce.com/v1/pki/clientcert/ca74bfdbaeb240af8f9c90979f4049a4/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T08%3A54%3A33Z%2F86400%2Fhost%2F98fbeccf002af3088ff54bd5a1b8701b4d6672f158d9e04fb5ac59b181bba337&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    查询客户端子证书2

    方法 api 说明
    GET /v1/pki/clientcert/query?rootCertId={id}&groupId={groupId} 查询客户端子证书信息。groupId为空或不提供则返回分组下所有客户端子证书。groupId和rootCertId必须有一个不为空。

    返回参数QueryClientCertResponse

    字段名称 类型 是否必须 说明
    clientCerts array[String] 客户端子证书ID列表

    请求示例

    GET /v1/pki/clientcert/query?rootCertId=f557151c77954c9595b62a7e6de3731a&groupId=5a8a10e3cb74482386da344f816549fb HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T09:02:10Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 6cd0da78-8c89-4cd2-b04a-c9a55d5dd22b
    Content-Type: application/json;charset=UTF-8
    {"clientCerts":[]}

    客户端子证书变更

    方法 api 说明
    PUT /v1/pki/clientcert/{certId}/renew?clientToken={clientToken} 变更一个客户端子证书。

    请求参数RenewSubCertRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    newDeviceId String 1 ~ 36个字符,新的设备ID
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    csr String 标准CSR请求数据,使用BASE64编码,PEM格式。注意:新创建证书的CN不能与当前没有废弃的子证书的CN相同,但可以与已经废弃的子证书的CN相同。

    返回参数RenewSubCertResponse

    字段名称 类型 是否必须 说明
    downloadUrl String 下载链接,
    /v1/pki/clientcert/${certId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    请求示例

    PUT /v1/pki/clientcert/52db99ebfd1643b38f80cb8e236a8348/renew?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization:{authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T08:42:00Z
    content-type: application/json
    {
     "newDeviceId" : "New_Iot_Client_A3",
     "duration" : 700,
     "csr" : "-----BEGIN CERTIFICATE REQUEST-----\nMIIChTCCAW0CAQAwQjEOMAwGA1UECgwFQmFpZHUxCzAJBgNVBAYTAkNOMRUwEwYD\nVQQDDAxjbGllbnQ3MDExMDQxDDAKBgNVBAsMA2FpdDCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAJOwdp/lwQiawOSKq+C1imDYD3tbFDEeNnnd9FTTfTV4\n4o0hyg0LmzTOsdNtLjTJiMxvQgi+qBjXRiKMHGGe6su2H5senFcB1QFK3Yq6HIAj\ncAloEiuy90Qv5/4fFQZR9CTHSnhtqvu96F74ao5oaakiYfZHjcVbcJ5z0YrLF7lq\n9klTQC7DnB4jB18sD164du7+X0A6w/txFUUjBscrDV9D6IF7YQAxmKheJ0BQHKTG\n9oQ6sX5fWOj+TwKKAypxqt1IYoNY/8wdtyJad9kN7Ug0kN4s93urtRbTabRIO7sB\nXSQdtpT8pRWEhA8VgqrV9MUgKD+W++LSayuSbFOsd1MCAwEAATANBgkqhkiG9w0B\nAQsFAAOCAQEAS8npaJR7JccdSvLi+cFU3NFEuLz0Cyav8Dp4Bij+/WLNcu5yfb3X\ndW6OGxaC50NIpx/VwmYn5oKJQBKrNHIMsZ7hg0j0amZ3u7tBZIV9uaU4jutAiEvW\nFrwkpD6EjWkXGHPIbGLOOjL6GgyGlB903FsgtJKAFpr5BmA3uPOa4fXCeWquvkIj\n/X7LOuXB0QkSdP4VkjFnUBZlFboFLIpJ0mzCx05+x5MMkX9brooSmYHKroWH7xz3\nhQoisQGQ3ZOv3KR1ozzugklVZxphmS9EAyMm26TTREjVlufBWcEnwTd9YYWPOR9i\nN36hRSBHHlNM9xg5/4sz+4YhPKha9Wlrpg==\n-----END CERTIFICATE REQUEST-----\n"
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: b4308e6b-2f3f-4d22-a525-a08654ac1cdc
    Content-Type: application/json;charset=UTF-8
    {"downloadUrl":"https://pkiiov.baidubce.com/v1/pki/clientcert/52db99ebfd1643b38f80cb8e236a8348/download?Authorization=bce-auth-v1%2F790b329ee5194aae868c84ce254d2f63%2F2018-07-12T08%3A42%3A05Z%2F86400%2Fhost%2F13eb15bfe5a1f043636dcd545e9fcf36b5f41b6890f1a20b63a48f5e0eb1a6d4&userId=b1f91fbe6fe54d2eaf70ef0025f1c3c2"}

    下载接口

    根证书下载

    方法 api 说明
    GET /v1/pki/rootcert/{certId}/download?userId=xx&Auhtorization=x 下载根证书,地址为创建或查询时候返回的url。请求头:Host:pkiiov.baidubce.com, Authorization:x

    返回:

    content-type 内容 文件名
    application/x-pem-file pem格式的证书内容 {certId}.pem

    服务器端子证书下载

    方法 api 说明
    GET /v1/pki/servercert/{certId}/download? userId=xx&Auhtorization=x 服务器端子证书下载。地址为创建或查询时候返回的url。请求头:Host:pkiiov.baidubce.com, Authorization:x

    返回:

    content-type 内容 文件名
    application/x-pem-file pem格式的证书内容 {certId}.pem

    客户端子证书下载

    方法 api 说明
    GET /v1/pki/clientcert/{certId}/download? userId=xx&Auhtorization=x 客户端子证书下载。地址为创建或查询时候返回的url。请求头:Host:pkiiov.baidubce.com, Authorization:x

    返回:

    content-type 内容 文件名
    application/x-pem-file pem格式的证书内容 {certId}.pem

    批量接口

    批量创建客户端子证书

    方法 api 说明
    POST /v1/pki/clientcert/job?clientToken={clientToken} 签发一批客户端子证书。

    请求参数BatchCreateCertRequest

    字段名称 类型 是否必须 说明
    clientToken String 1 ~ 64个字符,用于保证接口幂等性。
    rootCertId String 根证书ID
    groupId String 分组ID
    deviceIds array[String] 设备ID编号,最多支持1000个设备批量创建。每个设备id为1 ~ 36个字符
    duration int 1 ~ 50 * 365天,有效期,以天为单位。
    csrs 多个文件进过zip压缩后的包 标准CSR请求数据,使用BASE64编码,PEM格式,zip包. deviceIds与csrs包中的文件列表必须一一对应。这个字段是zip包的二进制流经过base64 encode后的String。注意:新创建证书的CN不能与当前没有废弃的子证书的CN相同,但可以与已经废弃的子证书的CN相同。

    返回参数BatchCreateCertResponse

    字段名称 类型 是否必须 说明
    jobId String job唯一标志。

    请求示例

    POST /v1/pki/clientcert/job?clientToken=97ebcae89b8411e898d0529269fb1459 HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T09:41:16Z
    content-type: application/json
    {
     "groupId" : "7aa82ddbf2dd4271945bbe1007404b92",
     "deviceIds" : [ "3b03e0", "3b03e1" ],
     "duration" : 500,
     "csrs" : "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"
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 8ee9b35e-2b64-4107-94bc-36f9cc3c98ec
    Content-Type: application/json;charset=UTF-8
    {"jobId":"60a644a342e946668f35be6c6fc9535d"}

    查询批量创建子证书作业

    方法 api 说明
    GET /v1/pki/clientcert/job/{jobid} 查询批量创建客户端子证书作业

    返回参数GetBatchJobResponse

    字段名称 类型 是否必须 说明
    jobStatus String Succeed, PartialSucceed,Processing。当状态为Succeed和PartialSucceed的时候有字段:certCount,certIds,downloadUrl。当PartialSucceed的时候,有message字段。
    message String 提供部分失败的原因。如果failed,会直接抛错误,message不在这里展示。
    certCount int 成功签发的证书数量.
    certIds array[CertToDevice] 成功签发的设备ID和证书ID组合列表。参考结构1.
    downloadUrl String /v1/pki/clientcert/job/${jobId}/download?userId=xxx&Authorization=xxx, 其中Authorization为已经算好的签名,请求时候用这个链接,加上HttpHeader (Host:pkiiov.baidubce.com)

    CertToDevice结构体:

    字段名称 类型 是否必须 说明
    certId String 证书ID
    deviceId String 设备ID

    请求示例

    GET /v1/pki/clientcert/job/60a644a342e946668f35be6c6fc9535d HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T09:41:17Z
    返回示例
    HTTP/1.1 200 OK
    x-bce-request-id: c8f6a649-a3cb-43b3-9335-eb1289d03ed7
    Content-Type: application/json;charset=UTF-8
    {"jobStatus":"Processing","message":"","certCount":0,"certIds":[],"downloadUrl":""}

    子证书批量下载

    方法 api 说明
    GET /v1/pki/clientcert/job/{jobId}/download?userId=xxx&Authorization=xxx 客户端子证书下载。地址为创建或查询时候返回的url。请求头:Host:pkiiov.baidubce.com, Authorization:x

    返回:

    content-type 内容 证书名
    application/zip 证书压缩的zip包 deviceId

    证书状态查询

    证书状态在线查询

    方法 api 说明
    PUT /v1/pki/cert/getstatus 在线查询证书状态。无需百度智能云签名。

    请求参数GetCertStatusRequest

    字段名称 类型 是否必须 说明
    issuerDN String 签发者DN,在证书中可以找到,如 CN=Test_Root_01,OU=TestC53,C=CH
    certficateSN String 证书SN,如14BA4160676D31AF

    返回参数GetCertStatusResponse

    字段名称 类型 是否必须 说明
    statusCode int 状态码,
    0 (证书没有作废)
    1 (证书已经作废)
    2 (证书不存在)
    3 (没有这个CA服务)
    4 (发生了其他错误)
    status String 状态

    请求示例

    PUT /v1/pki/cert/getstatus HTTP/1.1
    authorization:{authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T09:56:30Z
    content-type: application/json
    {
     "issuerDN" : "emailAddress=zhangsan@baidu.com, CN=root583878, OU=ait, O=ABC corp, C=CN",
     "certificateSN" : "40e9d635083fadb0"
    }

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 61f4d7a1-bf95-4f8c-b649-6ff2682a4cfa
    Content-Type: application/json;charset=UTF-8
    {"statusCode":0,"status":"Not revoked"}

    crl下载

    方法 api 说明
    GET /v1/pki/crl?cmd=crl&format=PEM&issuer={issuerDN} crl下载,无需百度智能云签名。根证书中有url,获取根证书状态也可以拿到crl。

    请求参数

    字段名称 类型 是否必须 说明
    issuerDN String 签发者DN,在证书中可以找到,如 CN=Test_Root_01,OU=TestC53,C=CH

    返回:

    pem格式的crl文件。

    请求示例

    GET /v1/pki/crl?cmd=crl&format=PEM&issuer=emailAddress%3Dzhangsan%40baidu.com%2C%20CN%3Droot892557%2C%20OU%3Dait%2C%20O%3DABC%20corp%2C%20C%3DCN HTTP/1.1
    authorization: {authorization}
    host: pkiiov.baidubce.com
    x-bce-date: 2018-07-12T11:41:50Z

    返回示例

    HTTP/1.1 200 OK
    x-bce-request-id: 7d4a31d2-e757-4f94-9cea-b1ac9694cc2a
    Content-Disposition: form-data; name="attachment"; filename="crl.pem"
    Content-Type: application/x-pem-file;charset=UTF-8
    -----BEGIN X509 CRL-----
    MIIC4zCCAcsCAQEwDQYJKoZIhvcNAQELBQAwaTEkMCIGCSqGSIb3DQEJARYVd2Fu
    amlhbmd5YW5AYmFpZHUuY29tMRMwEQYDVQQDDApyb290ODkyNTU3MQwwCgYDVQQL
    DANhaXQxETAPBgNVBAoMCEFCQyBjb3JwMQswCQYDVQQGEwJDThcNMTgwNzExMjMx
    NjMyWhcNMTgwNzEyMjMxNjMyWjCB/DAoAggwZMLtUzVKwxcNMTgwNzExMDc0NjM0
    WjANMAsGA1UdFQQECgIAgDAoAghKjYmO4IgsLRcNMTgwNzExMDc0NjQxWjANMAsG
    A1UdFQQECgIAgDAoAggCSElxV6LvoBcNMTgwNzExMDc0NjQ5WjANMAsGA1UdFQQE
    CgIAgDAoAgh9QoXBkAcZhBcNMTgwNzExMDgyNTE1WjANMAsGA1UdFQQECgIAgDAo
    AghCN45GTjId/hcNMTgwNzExMDgyNTIyWjANMAsGA1UdFQQECgIAgDAoAggrlXkR
    OlmHLBcNMTgwNzExMDgyNTI4WjANMAsGA1UdFQQECgIAgKAvMC0wHwYDVR0jBBgw
    FoAU2A/88qbIh/KBpXcnRblENZkLgccwCgYDVR0UBAMCAQMwDQYJKoZIhvcNAQEL
    BQADggEBAEaP068W9qoG5MVg0l63l5ST5IKQVC6Yomkv7Y3IXRlH5nPFbN8QoxS9
    +7MdOZmhJhbBuNoi4Z/lxqQ+4dbTi7gaxy0Y4w8ElPNtO7Am0jRBcGcTUODUNrnx
    ZBlFZUpLhY1gxE589OJVID4fD/kfyFbKHi9swfa11V+S7osALPeUrqvCEJUPfWxp
    5MctDYyejMrxOO6NHYVBobgRFUgS+TWDqybR1JJnkXbQrr/HTsQKkvT3ERrqiKZw
    nAVB58ftjzQKZZw2Ud+sL7uTst/kBwtHBVKuYc9/FhcvziGWkFph0ClEQ+dQEKGV
    P6MGo+P8/8XpcRw6zvtLSflFLQzkBXQ=
    -----END X509 CRL-----

    ocsp查询

    在线证书状态协议(Online Certificate Status Protocol)是一个用于获取X.509数字证书撤销状态的网际协议,可以在线实时获取证书状态。具体协议可查看标准ocsp协议。

    目前PKI系统支持通过get方法进行ocsp查询。

    方法 api 说明
    GET /v1/pki/ocsp/{OCSPRequestData} ocsp查询接口

    请求参数:标准ocsp request

    GET {url}/{url-encoding of base-64 encoding of the DER encoding of the OCSPRequest}

    其中,OCSPRequestData生成方式为: 对标准ocsp请求OCSPRequest进行DER编码,然后对编码结果进行base64编码,再对编码结果进行url编码即可。

    返回参数:标准ocsp response

    An HTTP-based OCSP response is composed of the appropriate HTTP
    headers, followed by the binary value of the DER encoding of the
    OCSPResponse.  The Content-Type header has the value 
    "application/ocsp-response".

    PKI系统将返回标准的ocsp respose,即返回一个Content-Type header 为 "application/ocsp-response",body为DER编码的OCSPResponse 二进制数据的http响应。

    上一篇
    接口规范
    下一篇
    更新历史