DigiCert® ONE は、高速で柔軟な PKI のスケーラブルな基礎となる、最新の PKI プラットフォームです。DigiCert ONE API は、証明書とデバイスの管理、ワークフローのカスタマイズと自動化、および DigiCert ONE の既存 PKI 管理ツールとの統合向けの強力なインターフェイスです。
DigiCert ONE には、これらのコンソールでの作業を管理する API が含まれます。
DigiCert ONE API の使用前に、以下が必要です。
新しい API キーの作成するには:
各 API キーは1度のみ表示されます。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}}
要求はすべて、RESTful URL から、ヘッダーベース認証と JSON 要求タイプを含む、REST 機能を使用して提出します。
要求に対するデータ文字セットエンコーディングは UTF-8 です。適切な要求は 443 を使用し、user-agent と content-length HTTP ヘッダーを指定します。
DigiCert ONE API は、以下を含む、標準 HTTP 方法を使用します。
GET
POST
PUT
DELETE
特記事項がないかぎり、ほとんど要求には、JSON または XML 初期化データの引き渡しが必要です。Content-Type
ヘッダーのサポート対象の値は、次のとおりです。
application/json
応答はヘッダと本体で構成されます。応答本文の初期化は、要求時に指定した content-type によって異なります。
個別 HTTP ヘッダー応答コードについての詳細は、用語集 – ヘッダー を参照してください。