OpenAPI 接口

CertCloud 提供 OpenAPI 对外接口, 支持证书申请、下载证书及私钥、证书续期及吊销功能。

要使用 OpenAPI,需要准备 API​​ 授权码以及一些 HTTP POST 请求参数向 URL 发出请求。 请注意,以下 {accountID} ​​必须替换为申请的授权码。


API Request URL:

https://api.certcloud.cn/openapi/v1/orders/{accountID}

申请证书

Request Headers:

Key Value
Content-Type “application/json”

[ HTTP POST ] Request Parameters:

Parameter Type Description Example
{accountID} Path [Required] OpenAPI 授权码。在创建 APIKey 后,账户ID 列所示值 “ESurMKDG”
app_info Body [Required] 自定义的客户端名称 “MyDomainCLI”
token Body [Required] OpenAPI 个人口令,在创建 APIKey 后,Secret Key 列所示值 “2cab1da0149c9e483…”
csr Body [Required] 证书签名请求,PEM格式 “—–BEGIN CERTIFICATE REQUEST—–\nMIIClTCCA….\n—–END CERTIFICATE REQUEST—–”
encrypted_key Body [Optional] 加密后的私钥数据(PEM格式),使用云端存储加密私钥。 “—–BEGIN RSA PRIVATE KEY—–\nProc-Type: 4,ENCRYPTED\nDEK-Info: AES-256-CBC,e2508472105a6afb9e7e67232c10bf27\n\nVg/7P2Nfce+ZcJJ……\n—–END RSA PRIVATE KEY—–”
validity Body [Optional] 整数,指定证书有效期,单位:天 30

API Response:
如果你的 API 请求成功,将会返回 JSON 格式的 API 响应,其中包含有订单ID、证书ID、证书数据等信息。

 {
   "code": 0, 
   "error": "error information",
   "data": {
       "order_id": "Order ID",
       "cert_id": "Cert ID",
       "cert": "Cert PEM",
       "chain": "Chain PEM",
   },
 }

Response Objects:

Parameter Type Description
code int 返回值,0:成功;其他值请参考
error string 错误详情
order_id string 申请成功后,提交的订单的ID
cert_id string 申请成功后,颁发的证书的ID。用于取回证书使用,请妥善保存。
cert string PEM格式,证书数据
chain string PEM格式,证书链数据

Example:

$ curl -X POST "http://api.certcloud.cm/openapi/v1/orders/{accountID}" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"token\": \"密钥令牌\", \"app_info\": \"MyProject\", \"csr\": \"证书签名请求PEM\", \"encrypted_key\": \"加密后的私钥PEM\", \"validity\":30}"

CSR参数必须是 PEM 格式,其中换行符必须使用转义字符\n, encrypted_key同理。

取回证书

Request Headers:

Key Value
Content-Type "application/json"

[ HTTP GET ] Request Parameters:

Parameter Type Description Example
{accountID} Path [Required] OpenAPI 授权码。在创建 APIKey 后,账户ID 列所示值 “ESurMKDG”
token Body [Required] OpenAPI 授权口令,在创建 APIKey 后,Secret Key 列所示值 “2cab1da0149c9e483…”
cert_id Body [Required] 指定要取回的证书ID, 在第一次申请证书后可获得 “Bimx11Pq”

API Response:
如果你的 API 请求成功,将会返回 JSON 格式的 API 响应,其中包含有证书数据、加密私钥(可选)、证书链(可选)等信息。

{
   "code": 0,                    
   "error": "error information", 
   "data": {
       "cert": "Cert PEM",         
       "encrypted_key": "Encrypted Key PEM", 
       "chains": "Cert Chain PEM"
   },
}

Response Objects:

Parameter Type Description
code int 返回值,0:成功;其他值请参考
error string 错误详情
cert string PEM格式,证书数据
encrypted_key string PEM格式,证书私钥数据
chain string PEM格式,证书链数据

Example:

$ curl -X GET "https://api.certcloud.cn/openapi/v1/orders/{accountID}" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"cert_id\": \"证书ID\", \"token\": \"密钥口令\"}"
August 25, 2020