DigiCert® ONE — это современная платформа PKI, которая обеспечивает масштабируемую основу для быстрого и гибкого развертывания PKI. DigiCert ONE API представляет собой мощный интерфейс для управления вашими сертификатами и устройствами, настройки и автоматизации рабочих процессов, а также интеграции DigiCert ONE с существующими инструментами управления PKI.
DigiCert ONE включает API для управления действиями, которые находятся на следующих консолях:
Для использования DigiCert ONE API вам необходимо следующее:
Чтобы создать новый ключ API:
Каждый ключ API отображается только один раз. Восстановить потерянный ключ API нельзя. Если вы потеряли ключ API, отзовите его и сгенерируйте новый.
DigiCert ONE API используют аутентификацию на основе заголовков. Каждый запрос включает пользовательский заголовок HTTP x‑api‑key
. Используйте собственный ключ API в качестве значения для этого заголовка при отправке запросов.
Например, здесь представлен запрос к конечной точке для создания нового устройства:
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}}
}'
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'))
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))
}
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-адрес для создания запросов DigiCert ONE API:
https://one.digicert.com
Некоторые конечные точки используют строки запросов URL-адресов для фильтрации результатов. Для добавления строк запроса к URL-адресу конечной точки используйте ?. Для добавления дополнительных строк запроса используйте &.
В данном примере используется строка запроса division_id
для фильтрации результатов для отдельного раздела:
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 см. Глоссарий – Заголовки.