DigiCert ONE

DigiCert® ONE 是一个现代化 PKI 平台,为快速灵活地实现 PKI 部署提供可扩展的基础。 DigiCert ONE API 提供一个功能强大的界面,可用于管理证书和设备、自定义和自动化工作流,以及将 DigiCert ONE 与您现有的 PKI 管理工具集成。

DigiCert ONE 包含有 API 可用于管理以下控制中心中的活动:

入门

使用 DigiCert ONE API 的必备条件:

  • DigiCert One 帐户
  • DigiCert ONE API 密钥
  • 能够提出 REST API 请求

创建 API 密钥

创建新 API 密钥的步骤如下:

  1. 登录 DigiCert ONE 帐户。
  2. 转到帐户管理员控制中心。
  3. 选择左侧菜单中的访问权限 > API 令牌
  4. 选择创建 API 令牌
  5. 填写表单以创建密钥。

每个密钥只显示一次。丢失的 API 密钥无法找回。如果 API 密钥丢失,需吊销并生成新 API 密钥。

身份验证

DigiCert ONE API 使用基于标头的身份验证。每个请求包括自定义 HTTP 标头 x‑api‑key。提交请求时,使用您自己的 API 密钥作为该标头的值。

例如,下面是为创建新设备而发送给端点的请求:

cURL
curl -X POST \
  'https://one.digicert.com/iot/api/v1/device' \
  -H 'x-api-key: {{api_key}}' \
  -H 'Content-Type: application/json' \
  -d '{
    "division_id": {{division_id}},
    "device_identifier": "MyDevice",
    "device_profile_id": {{device_profile_id}}
  }'
Python
import requests

url = "https://stage.one.digicert.com/iot/api/v1/device"

payload = "{\n  \"division_id\": {{division_id}},\n  \"device_identifier\": \"MyDevice\",\n  \"device_profile_id\": {{device_profile_id}}\n}"
headers = {
  'x-api-key': {{api_key}},
  'Content-Type': 'application/json'
}

response = requests.request("POST", url, headers=headers, data = payload)

print(response.text.encode('utf8'))
Go
package main

import (
  "fmt"
  "strings"
  "net/http"
  "io/ioutil"
)

func main() {

  url := "https://stage.one.digicert.com/iot/api/v1/device"
  method := "POST"

  payload := strings.NewReader("{\n  \"division_id\": {{division_id}},\n  \"device_identifier\": \"MyDevice\",\n  \"device_profile_id\": {{device_profile_id}}\n}")

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, payload)

  if err != nil {
    fmt.Println(err)
  }
  req.Header.Add("x-api-key", {{api_key}})
  req.Header.Add("Content-Type", "application/json")

  res, err := client.Do(req)
  defer res.Body.Close()
  body, err := ioutil.ReadAll(res.Body)

  fmt.Println(string(body))
}
NodeJS
var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://stage.one.digicert.com/iot/api/v1/device',
  'headers': {
    'x-api-key': {{api_key}},
    'Content-Type': 'application/json'
  },
  body: "{\n  \"division_id\": {{division_id}},\n  \"device_identifier\": \"MyDevice\",\n  \"device_profile_id\": {{device_profile_id}}\n}"

};
request(options, function (error, response) { 
  if (error) throw new Error(error);
  console.log(response.body);
});

基本 URL

使用此基本 URL 构建 DigiCert ONE API 请求:

generic
https://one.digicert.com

URL 查询字符串

一些端点使用 URL 查询字符串筛选结果。如需将查询字符串追加到端点 URL,请参阅 ?。如需追加更多查询字符串,请使用 &

该示例使用 division_id 查询字符串将结果筛选到指定分区:

generic
https://one.digicert.com/iot/api/v1/device/{{device_identifier}}?division_id={{division_id}}

请求

所有请求使用 REST 功能通过 RESTful URL 提交,包括基于标头的身份验证和 JSON 请求类型。

请求的数据字符集编码是 UTF-8。一个格式标准的请求使用端口 443 并且指定用户代理内容长度 HTTP 标头。

方法

DigiCert ONE API 使用标准 HTTP 方法,包括:

  • GET
  • POST
  • PUT
  • DELETE

主体

除非另有说明,否则大多数请求要求传递 JSON 或 XML 格式的数据。Content-Type 标头支持的值包括:

  • application/json

响应

响应包括标头和正文。响应主体的格式取决于您在请求中指定的内容类型。

欲了解关于各个 HTTP 标头响应代码的更多信息,请参阅词汇表 - 标头