DigiCert ONE

DigiCert® ONE — это современная платформа PKI, которая обеспечивает масштабируемую основу для быстрого и гибкого развертывания PKI. DigiCert ONE API представляет собой мощный интерфейс для управления вашими сертификатами и устройствами, настройки и автоматизации рабочих процессов, а также интеграции DigiCert ONE с существующими инструментами управления PKI.

DigiCert ONE включает API для управления действиями, которые находятся на следующих консолях:

Начало работы

Для использования DigiCert ONE API вам необходимо следующее:

  • Yчётная запись DigiCert ONE
  • Ключ DigiCert ONE API
  • Возможность выполнения запросов REST API

Создайте ключ API

Чтобы создать новый ключ API:

  1. Войдите в свою yчётная запись 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}}

Запросы

Все запросы отправляются через URL-адреса RESTful с использованием функцией REST, включая аутентификацию на основе заголовков и типов запросов JSON.

В качестве набора символов для обозначения данных, декодируемых в запросах, используется UTF-8. Правильно составленный запрос использует порт 443 и задает заголовки HTTP, в которых указан пользователь-агент и контент-длина.

Методы

DigiCert ONE API используют стандартные методы HTTP, включая:

  • GET
  • POST
  • PUT
  • DELETE

Тело

Если не указано другое, большинство запросов требуют передачи данных в формате JSON или XML. Поддерживаемые значения для заголовка Content-Type включают:

  • application/json

Ответы

Ответы состоят из заголовков и тела. Форматирование тела ответа зависит от типа содержимого, который указан в запросе.

Для получения дополнительной информации по отдельным кодам ответов заголовка HTTP см. Глоссарий – Заголовки.