コードサイニング証明書を申請(オーダー)する

POST
https://www.digicert.com/services/v2/order/certificate/{{code_signing_certificate_id}}

このページには、code_signing_certificate グループ名付きで製品説明が記載されます (「用語集 – 製品識別子」を参照してください)。

このエンドポイントから、 code_signing または code_signing_evcode_signing_certificate_id として使用して、コード署名証明書申請を提出します。

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{code_signing_certificate_id}}' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "organization_units": [
      "Engineering"
    ],
    "server_platform": {
      "id": 52
    },
    "signature_hash": "sha256"
  },
  "cs_provisioning_method": "ship_token",
  "validity_years": 1,
  "comments": "Message for the approver",
  "skip_approval": true,
  "organization": {
    "id": 123456
  },
  "ship_info": {
    "name": "Erin Guerra",
    "addr1": "360 Taylor Street",
    "addr2": "Floor 74",
    "city": "Richmond",
    "state": "va",
    "zip": "69662",
    "country": "us",
    "method": "EXPEDITED"
  },
  "auto_renew": 1,
  "custom_renewal_message": "Renew this please.",
  "custom_fields": [
    {
      "metadata_id": 12,
      "value": "123456"
    }
  ],
  "payment_method": "balance"
}'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/{{code_signing_certificate_id}}"

payload = "{\n  \"certificate\": {\n    \"organization_units\": [\n      \"Engineering\"\n    ],\n    \"server_platform\": {\n      \"id\": 52\n    },\n    \"signature_hash\": \"sha256\"\n  },\n  \"cs_provisioning_method\": \"ship_token\",\n  \"validity_years\": 1,\n  \"comments\": \"Message for the approver\",\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 123456\n  },\n  \"container\": {\n    \"id\": 654321\n  },\n  \"ship_info\": {\n    \"name\": \"Erin Guerra\",\n    \"addr1\": \"360 Taylor Street\",\n    \"addr2\": \"Floor 74\",\n    \"city\": \"Richmond\",\n    \"state\": \"va\",\n    \"zip\": \"69662\",\n    \"country\": \"us\",\n    \"method\": \"EXPEDITED\"\n  },\n  \"auto_renew\": 1,\n  \"custom_renewal_message\": \"Renew this please.\",\n  \"custom_fields\": [\n    {\n      \"metadata_id\": 12,\n      \"value\": \"123456\"\n    }\n  ],\n  \"payment_method\": \"balance\"\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/{{code_signing_certificate_id}}"

	payload := strings.NewReader("{\n  \"certificate\": {\n    \"organization_units\": [\n      \"Engineering\"\n    ],\n    \"server_platform\": {\n      \"id\": 52\n    },\n    \"signature_hash\": \"sha256\"\n  },\n  \"cs_provisioning_method\": \"ship_token\",\n  \"validity_years\": 1,\n  \"comments\": \"Message for the approver\",\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 123456\n  },\n  \"container\": {\n    \"id\": 654321\n  },\n  \"ship_info\": {\n    \"name\": \"Erin Guerra\",\n    \"addr1\": \"360 Taylor Street\",\n    \"addr2\": \"Floor 74\",\n    \"city\": \"Richmond\",\n    \"state\": \"va\",\n    \"zip\": \"69662\",\n    \"country\": \"us\",\n    \"method\": \"EXPEDITED\"\n  },\n  \"auto_renew\": 1,\n  \"custom_renewal_message\": \"Renew this please.\",\n  \"custom_fields\": [\n    {\n      \"metadata_id\": 12,\n      \"value\": \"123456\"\n    }\n  ],\n  \"payment_method\": \"balance\"\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/{{code_signing_certificate_id}}',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { organization_units: [ 'Engineering' ],
        server_platform: { id: 52 },
        signature_hash: 'sha256' },
     cs_provisioning_method: 'ship_token',
     validity_years: 1,
     comments: 'Message for the approver',
     skip_approval: true,
     organization: { id: 123456 },
     container: { id: 654321 },
     ship_info: 
      { name: 'Erin Guerra',
        addr1: '360 Taylor Street',
        addr2: 'Floor 74',
        city: 'Richmond',
        state: 'va',
        zip: '69662',
        country: 'us',
        method: 'EXPEDITED' },
     auto_renew: 1,
     custom_renewal_message: 'Renew this please.',
     custom_fields: [ { metadata_id: 12, value: '123456' } ],
     payment_method: 'balance' },
  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
}

申請パラメータ

アステリスク (*) が付いたパラメータは、EV コード署名オーダーにのみ、使用します。

名前 申請/オプション 種別 説明
certificate 必須 object 証明書詳細
.. csr 任意 string 証明書署名申請 (CSR).
EV コード署名証明書には必要ありません。
server_platform.id 値が 55 (Sun Java)の場合に必要です。
.. signature_hash 必須 string 証明書の署名に使用するハッシュアルゴリズム
許可値:sha256
.. server_platform 任意 object サーバープラットフォームタイプ
デフォルト:-1 (その他)
.. .. id 必須 int サーバープラットフォーム ID
「用語集 — サーバープラットフォーム」を参照してください
.. organization_units 任意 array 証明書と関連づけられた組織内の部署
auto_renew 任意 int 証明書の自動更新回数
additional_emails 任意 array 証明書通知メールを受け取る追加メールアドレス (例. 証明書発行、複製証明書、証明書更新など)。
renewal_of_order_id 任意 int オーダーが更新の場合、前のオーダーの ID を入力します。
skip_approval 任意 bool オーダーが承認ステップをスキップし、すぐに認証に提出し、完了後に発行する場合に指定します。
デフォルト:false
organization 必須 object オーダーと関連づける組織
.. id 必須 int 組織 ID.
container 任意 object 必要な場合、オーダーを入れるコンテナを指定します。
.. id 必須 int コンテナ ID
validity_years 必須 int 証明書が有効な年数。
許可値:1,2,3
cs_provisioning_method* 必須 string EV コード署名証明書については、トークンの受取方法を指定します。
「用語集 — CS プロビジョニング方法」を参照してください。
ship_info* 任意 object EV コード署名証明書については、トークンの配送先住所を指定します。
.. name 必須 文字列
.. addr1 必須 文字列
.. addr2 任意 文字列
.. city 必須 文字列
.. state 必須 文字列
.. zip 必須 文字列
.. country 必須 文字列
.. method 必須 string トークンの配送優先順位
許可値:STANDARD,EXPEDITED (追加コストが発生します)
custom_fields 任意* object アカウント別カスタムフィールド
*これらのフィールドが必須かどうかは、カスタムフィールド設定によって異なります。
.. metadata_id 必須 int カスタムフィールド ID
.. value 必須 string カスタムフィールドの値
データ認証タイプは、カスタムフィールド設定によって異なります。
payment_method 任意 string 使用する支払方法を指定します。
許可値:balance,card,profile
デフォルト:balance

応答パラメータ

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