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\": \"密钥口令\"}"
February 26, 2021