SSL を申請(オーダー)する (type_hint)

POST
https://www.digicert.com/services/v2/order/certificate/ssl

このエンドポイントにより、提出されたデータに基づく申請について、適切な SSL 製品が自動的に決定します。製品が決定できない場合、400 ambiguous_product エラーが返されます。

このエンドポイントを使用して、type_hint製品で、証明書申請を提出します。

cURL
curl -X POST \
  https://www.digicert.com/services/v2/order/certificate/ssl \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "common_name": "example.com",
    "dns_names": [
      "example2.com",
      "example3.com"
    ],
    "csr": "<csr>",
    "signature_hash": "sha256",
    "organization_units": [
      "Not Fake Company Inc."
    ],
    "organization": {
      "id": 112233
    },
    "server_platform": {
      "id": 2
    }
  },
  "validity_years": 1,
  "comments": "Example certificate for API documentation.",
  "container": {
    "id": 11
  },
  "product": {
    "type_hint": "ov"
  },
  "auto_renew": 1,
  "disable_renewal_notifications": false,
  "additional_emails": [
    "john.smith@digicert.com"
  ],
  "disable_ct": false,
  "skip_approval": true,
  "organization": {
    "id": 112233
  }
}'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/ssl"

payload = "{\n  \"certificate\": {\n    \"common_name\": \"example.com\",\n    \"dns_names\": [\n      \"example2.com\",\n      \"example3.com\"\n    ],\n    \"csr\": \"<csr>\",\n    \"signature_hash\": \"sha256\",\n    \"organization_units\": [\n      \"Not Fake Company Inc.\"\n    ],\n    \"organization\": {\n      \"id\": 112233\n    },\n    \"server_platform\": {\n      \"id\": 2\n    }\n  },\n  \"validity_years\": 1,\n  \"comments\": \"Example certificate for API documentation.\",\n  \"container\": {\n    \"id\": 11\n  },\n  \"product\": {\n    \"type_hint\": \"ov\"\n  },\n  \"auto_renew\": 1,\n  \"disable_renewal_notifications\": false,\n  \"additional_emails\": [\n    \"john.smith@digicert.com\"\n  ],\n  \"disable_ct\": false,\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 112233\n  }\n}"
headers = {
    'X-DC-DEVKEY': "{{api_key}}",
    'Content-Type': "application/json"
    }

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

print(response.text)
Go
package main

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

func main() {

	url := "https://www.digicert.com/services/v2/order/certificate/ssl"

	payload := strings.NewReader("{\n  \"certificate\": {\n    \"common_name\": \"example.com\",\n    \"dns_names\": [\n      \"example2.com\",\n      \"example3.com\"\n    ],\n    \"csr\": \"<csr>\",\n    \"signature_hash\": \"sha256\",\n    \"organization_units\": [\n      \"Not Fake Company Inc.\"\n    ],\n    \"organization\": {\n      \"id\": 112233\n    },\n    \"server_platform\": {\n      \"id\": 2\n    }\n  },\n  \"validity_years\": 1,\n  \"comments\": \"Example certificate for API documentation.\",\n  \"container\": {\n    \"id\": 11\n  },\n  \"product\": {\n    \"type_hint\": \"ov\"\n  },\n  \"auto_renew\": 1,\n  \"disable_renewal_notifications\": false,\n  \"additional_emails\": [\n    \"john.smith@digicert.com\"\n  ],\n  \"disable_ct\": false,\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 112233\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("X-DC-DEVKEY", "{{api_key}}")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
NodeJS
var request = require("request");

var options = { method: 'POST',
  url: 'https://www.digicert.com/services/v2/order/certificate/ssl',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { common_name: 'example.com',
        dns_names: [ 'example2.com', 'example3.com' ],
        csr: '<csr>',
        signature_hash: 'sha256',
        organization_units: [ 'Not Fake Company Inc.' ],
        organization: { id: 112233 },
        server_platform: { id: 2 } },
     validity_years: 1,
     comments: 'Example certificate for API documentation.',
     container: { id: 11 },
     product: { type_hint: 'ov' },
     auto_renew: 1,
     disable_renewal_notifications: false,
     additional_emails: [ 'john.smith@digicert.com' ],
     disable_ct: false,
     skip_approval: true,
     organization: { id: 112233 } },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
201 Created (one-step approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "pending"
        }
    ]
}
201 Created (two-step approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "submitted"
        }
    ]
}
201 Created (auto approval)
{
    "id": 112233,
    "requests": [
        {
            "id": 113,
            "status": "approved"
        }
    ],
    "certificate_id": 113
}

申請パラメータ

証明書フィールドの許可値についての詳細は、「パブリックトラスト証明書 - 業界基準に違反するデータエントリ」を参照してください。

名前 申請/オプション 種別 説明
証明書 必須 オブジェクト
.. common_name 必須 string 安全保護するドメイン
.. dns_names 任意 array 安全保護する追加ドメイン
追加コストが発生する場合があります。(「ベストプラクティス — 両バージョンを無料で取得する」を参照してください。)
.. csr 必須* string 証明書署名申請 (CSR).
* 「用語集 — CSR 要件」を参照してください
.. signature_hash 必須 string 証明書の署名に使用するハッシュアルゴリズム
コード署名証明書がサポートしているのは、SHA-256 のみです。
.. ca_cert_id 必須* string 証明書にサインが必要な CA 証明書の ID
*type_hintprivateの場合のみ必要です。
.. organization_units 任意 array 証明書が対応する組織内の部署
.. server_platform 任意 object サーバープラットフォームタイプ
コード署名証明書オーダーに必要です。
デフォルト:-1 (その他)
.. .. id 必須 int サーバープラットフォーム ID
「用語集 — サーバープラットフォーム」を参照してください
renewed_thumbprint 任意 string オーダーが更新の場合、前のオーダーのプライマリ証明書の SHA-1 サムプリントを入力します。
validity_years 必須 int 証明書が有効な年数。
validity_days または custom_expiration_dateと入れ替え可能です。
許可値:1,2
validity_days 任意 int 証明書が発行後有効な日数。
validity_yearsを無視する
custom_expiration_date 任意 string 証明書のカスタム有効期限日日付は、未来で 825日以下でなければなりません。
validity_daysvalidity_yearsを無視する
形式:yyyy-MM-dd
comments 任意 string 承認者についてのオーダーに関してコメントします。
製品 任意 オブジェクト
.. type_hint 任意 string 合格にする製品タイプを指定します。
許可値:ov,ev,grid,private
auto_renew 任意 int 証明書が自動更新する場合に指定します。
デフォルト:0
許可値:0 (無効)、1 (有効)
disable_renewal_notifications 任意 bool 更新通知メールを無効にする場合に指定します。
デフォルト:false
additional_emails 任意 array 証明書通知メールを受け取る追加メールアドレス (例. 証明書発行、複製証明書、証明書更新など)。
renewal_of_order_id 任意 int オーダーが更新の場合、前のオーダーの ID を入力します。
dcv_method 必須 string ドメイン名の利用権の確認時に使用する DCV 方法
「用語集 — DCV 方法」を参照してください。
skip_approval 任意 bool オーダーが承認ステップをスキップし、すぐに認証に提出し、完了後に発行する場合に指定します。
デフォルト:false
disable_ct 任意 bool 証明書の CT ログ記録を無効にする場合に指定します。
オーダー別 CT ログ記録は有効になっていなければなりません。なっていない場合は、無視れます。「ユーザーが CT ログから外れることを許可する」を参照してください。
デフォルト:false
organization 必須 object 組織詳細向けコンテナ
.. id 必須 int オーダーと関連づける組織の ID
container 任意 object 必要な場合、オーダーを入れるコンテナを指定します。
.. id 必須 int コンテナ ID

応答パラメータ

名前 種別 説明
id int オーダー ID
organization object 新しい組織詳細向けコンテナ
新しい組織がオーダーで作成された場合のみ、返されます。
.. id int 新しい組織の組織 ID。
requests array 申請についての情報が含まれます。
.. id int 申請 ID
.. status string 申請ステータス
可能な値:pending,submitted,approved,rejected
certificate_id int 証明書 ID
申請ステータスが approvedの場合に返されます。