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 キーは1度のみ表示されます。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}}

要求

要求はすべて、RESTful URL から、ヘッダーベース認証と JSON 要求タイプを含む、REST 機能を使用して提出します。

要求に対するデータ文字セットエンコーディングは UTF-8 です。適切な要求は 443 を使用し、user-agentcontent-length HTTP ヘッダーを指定します。

方法

DigiCert ONE API は、以下を含む、標準 HTTP 方法を使用します。

  • GET
  • POST
  • PUT
  • DELETE

本体

特記事項がないかぎり、ほとんど要求には、JSON または XML 初期化データの引き渡しが必要です。Content-Type ヘッダーのサポート対象の値は、次のとおりです。

  • application/json

応答

応答はヘッダと本体で構成されます。応答本文の初期化は、要求時に指定した content-type によって異なります。

個別 HTTP ヘッダー応答コードについての詳細は、用語集 – ヘッダー を参照してください。