DV 証明書ライフサイクル

DV 証明書の使用期間は、以下のメインステップで構成されています。

  • DV 証明書申請を準備する
  • DV 証明書オーダーを提出する
  • (任意) 証明書オーダーをキャンセルする
  • ドメイン名の利用権確認 (DCV) を完了する
  • オーダーステータスをチェックする
  • 発行済証明書をダウンロードする

証明書が発行されたら、以下の操作のうちいずれかを実行できます。

  • 証明書を再発行する
  • 証明書を失効にする
全 DV 証明書使用期間

DV 証明書申請を準備する

申請本文を構築しオーダー申請を提出するには、主要な情報をいくつか収集する必要があります。

  • 証明書が安全保護するドメイン名
  • 証明書をインストールするサーバー上で生成された証明書署名申請 (CSR)
  • 証明書の有効期間 (証明書が有効となる時間長)
  • ドメイン名の利用権を確認する場合に使用する DCV 方法

ドメイン名

証明書が安全保護するドメイン名を収集したら、それらの名前を2つの申請本文パラメータのうち1つに入力します。

パラメータ 種別 説明
common_name 文字列 証明書が安全保護するプライマリドメイン
dns_names アレイ 証明書が安全保護する追加ドメイン
このパラメータにドメインを追加すると、追加コストが発生する場合があります。

すべての DV 証明書オーダーには、ドメインのルートと www サブドメインの両方を追加コストなしでカバーすることができる「プラス」機能が含まれます。申請本文を構築する場合、ベースドメイン ([your-domain].com) を common_name パラメータに、他のバージョンのドメイン (www.[your-domain].com) を dns_names アレイに追加します。

証明書署名申請 (CSR)

CSR は、証明書をインストールするサーバー上で生成されます。生成されたら、PEM 整形式の CSR を申請本文の csr パラメータに入力します。詳細は、「CSR (証明書署名申請) を作成する」 を参照してください。

有効期間

証明書をオーダーする場合、証明書有効期間を指定する必要があります。以下のパラメータのいずれかを使用して、証明書の有効期間を確定することができます。

パラメータ 種別 説明
validity_years int 証明書有効期間を年単位で指定するには、このパラメータを使用します。
許可値:1,2
validity_days int 証明書有効期間を日数単位で指定するには、このパラメータを使用します。
custom_expiration_date 文字列 証明書の有効期限が切れる個別の日付を指定するには、このパラメータを使用します。
形式:yyyy-MM-dd

有効期間パラメータが1つ以上申請本文に含まれている場合は、以下の優先順位となります。custom_expiration_date > validity_days > validity_years.

DCV 方式

メール DCV は、DV 証明書オーダーに使用するデフォルト DCV 方法です。必要な場合は、dcv_method パラメータを申請本文に含めることで、デフォルト DCV 方法を変更することができます。dcv_method パラメータは、以下の値を許容します。

説明
email DCV メールを、ドメインの WHOIS レコードおよびドメイン用の5個の構築済メールアドレス(admin、administrator、webmaster、hostmaster、 および postmaster
@[domain_name])。
この方法を使用する場合、dcv_emails オブジェクトを含めることで、個別のメール範囲を定義することができます。
dns‑txt‑token ドメイン上の DNS TXT レコードに追加する応答団体にランダム値トークンを戻します。この方法の使用には、ドメイン DNS レコードの修正機能が必要です。
http‑token 証明書が安全保護するウェブサイト上の .txt ファイルにある応答団体にランダム値トークンを戻します。この方法の使用には、ウェブサーバー上にファイルをアップロードする機能が必要です。

別の DCV 方法およびその完了方法についての詳細は、「ドメイン名の利用権の確認 (DCV) 方法」 を参照してください。

(任意) dcv_emails アレイ

メール DCV 方法を使用する場合、DCV メールの送信時に使用するメールアドレスを指定することができます。そのためには、dcv_emails aアレイを申請本文に含め、オーダー上に各ドメインのエントリを追加します。

このパラメータを使用する場合、入力されたメールアドレスは、ドメインの WHOIS レコードに指定されているか、ドメイン (admin、administrator、webmaster、hostmaster、および/または postmaster @[domain_name])。また、当社では、DCV メールを指定されたアドレスにのみ送信します。

例えば、お客様が john.doe@[domain_name],と指定した場合、当社ではデフォルトメールアドレスのいずれかに DCV メールを送信します。あるいは、admin@[domain.com],と指定した場合、DCV メールを john.doe@ には送信しません[domain_name]。

Example dcv_emails array
"dcv_emails": [
  { 
    "dns_name": "example.com",
    "email_domain": "example.com",
    "email": "hostname@example.com"
  },
  { 
    "dns_name": "my.example.com",
    "email_domain": "example.com",
    "email": "admin@example.com"
  },
  { 
    "dns_name": "another.example.com",
    "email_domain": "example.com",
    "email": "admin@example.com"
  }
]

DV 証明書オーダーを提出する

お客様はこれで上記の情報を収集しましたので、申請本文をすぐに構築し、オーダー申請を提出することができます。これは [オーダー DV SSL] エンドポイントへの POST で実行します。

このエンドポイントへの POST が成功すると、201 作成済 HTTP 応答コードが返されます。応答団体には、オーダーのステータスをチェックし、発行したら証明書をダウンロードするのに使用できる主な情報が含まれます。

  • id – オーダー詳細をチェックし、DCV 操作を実行するのに使用するオーダー ID
  • certificate_id – 発行済証明書をダウンロードするのに使用する証明書 ID
  • dcv_random_value – dns-txt-token および http-token DCV 方法に使用するランダム生成されたトークンこのトークンは30日後に有効期限が切れます。

申請本文で使用する各パラメータについての詳細は、[オーダー DV SSL – 申請パラメータ] 表を参照してください。

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{dv_ssl_certificate_id}}' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
    "certificate": {
        "common_name": "example.com",
        "dns_names": [
            "sub.example.com",
            "app.example.com"
        ],
        "csr": "<csr>",
        "server_platform": {
            "id": 45
        },
        "signature_hash": "sha256",
        "organization_units": [
            "Accounting department"
        ]
    },
    "validity_years": 2,
    "comments": "Message for the approver",
    "disable_renewal_notifications": true,
    "dcv_method": "email",
    "locale": "en",
    "dcv_emails": [
      { 
        "dns_name": "example.com",
        "email_domain": "example.com",
        "email": "hostname@example.com"
      },
      { 
        "dns_name": "sub.example.com",
        "email_domain": "example.com",
        "email": "admin@example.com"
      },
      { 
        "dns_name": "app.example.com",
        "email_domain": "example.com",
        "email": "admin@example.com"
      }
    ],
    "payment_method": "balance",
    "custom_fields": [
        {
            "metadata_id": 11,
            "value": "Invoice #00001"
        }
    ]
}'
201 Created (email)
{
  "id": 112233,
  "certificate_id": 123456
}
201 Created (dns-txt-token or http-token)
{
  "id": 112233,
  "certificate_id": 123456,
  "dcv_random_value": "icru1984rnekfj"
}

オーダーの提出後、お客様は オーダー情報 エンドポイントを使用して、オーダー詳細を取得し、提出された情報を審査することができます。

(任意) 証明書オーダーをキャンセルする

オーダーを実行した後、キャンセルできる時間がある場合があります。オーダーをキャンセルするには、ステータスを保留中からキャンセル済に変更する必要があります。これは、[オーダーステータスを更新する] エンドポイントへの PUT で実行します。

このエンドポイントへの PUT が成功すると、204 コンテンツなし HTTP 応答が戻ってきます。

status パラメータでは、CANCELED の値 (ケースセンシティブ) のみ可能です。

cURL
curl -X PUT \
  'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/status' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
    "status": "CANCELED",
    "note": "Message about the cancellation."
}'
204 No Content
// empty

ドメイン名の利用権確認 (DCV) を完了する

DV オーダーが提出されると、オーダーについてドメイン名の利用権を確認する必要があります。

どの DCV 方法を選択したかには関係なく、証明書が安全保護する各ドメインについて DCV を完了する必要があります。例えば、dns-txt-token 方法を選択した場合、オーダーの核ドメインについて DNS TXT レコードを作成する必要があります。

メール DCV 方法

dcv_emails アレイが応答団体に含まれている場合、DCV メールが、そのアレイで定義したアドレスに送信されます。それ以外は、DCV メールはこれらのアドレスに送信されます。

  • ドメインの WHOIS レコードにあるすべてのメールアドレス
  • これら5個の構築済メールアドレス:
    • admin@[domain_name]
    • administrator@[domain_name]
    • webmaster@[domain_name]
    • hostmaster@[domain_name]
    • postmaster@[domain_name]

メール DCV を完了するには、メールクライアント受信ボックスで、件名 のメールを探します。[要対応]下の[yourdomain]{オーダー番号} を承認し、指示に従います。

提出済オーダーに DCV メールを再送する必要がある場合、[DV SSL:メールを再送する] エンドポイントを使用することができます ({{order_id}} プレースホルダーを、オーダー提出時に応答本文で返ってきたオーダー ID と入れ替えます)。

DNS TXT DCV 方法

ランダム値がない、または新しい値を生成する必要がなくなった場合、[DV SSL:DCV トークンを生成する] エンドポイントを使用して、{{order_id}} プレースホルダーを、オーダー提出時に応答団体で含まれていたオーダー ID と入れ替えます)。

これらのステップにしたがって DNS TXT DCV を完了し、ドメイン名の利用権を確認します。

  1. オーダーを実行したときに応答団体に返ってきた dcv_random_value をコピーします。
  2. DNS プロバイダーのサイトに移動し、新しい TXT レコードを作成します。
  3. [TXT 値]フィールドに、コピーしたランダム数を入力します。
  4. [ホスト]フィールド
    1. ベースドメイン (例えば、[yourdomain].com)
      ベースドメインを認証しますか?ホストフィールドを空白のままにするか、@ 記号を追加します (お使いの DNS プロバイダー要件によって異なる)。
    2. サブドメイン (例えば、[your.domain].com)
      サブドメインを認証しますか?[ホスト]フィールドで、認証するサブドメインを追加します。
  5. 申請したレコードタイプ (または同等のもの)で、[TXT]を選択します。
  6. Time-to-Live (TTL) 値を選択するか、DNS プロバイダーのデフォルト値を使用します。
  7. レコードを保存します。
  8. オーダーについて、各ドメインで上記のステップを繰り返します。

オーダーについてすべてのドメインの DNS TXT レコードを追加したら、TXT レコードを当社が確認する準備は完了です ([DCV チェックする]を参照してください)。

HTTP トークン DCV 方法

これらのステップにしたがって HTTP トークン DCV を完了し、ドメイン名の利用権を確認します。

  1. オーダーを実行したときに応答団体に返ってきた dcv_random_value をコピーします。
  2. 希望のテキストエディタに、コピーしたランダム値を貼り付けます。
  3. fileauth.txt のファイル名でファイルを保存します。
  4. お使いのウェブサーバーで、fileauth.txt ファイルを以下の場所にアップロードします。[yourdomain]/.well-known/pki-validation/fileauth.txt.

DCV チェックを実行する

オーダーについて、各ドメインで、ランダムトークン値を DNS TXT レコード (DNS TXT 方法) に追加、または fileauth.txt を指定の場所にアップロード (HTTP DCV 方法) すると、DCV check.チェックの実行準備が完了です。これは [DV SSL:DCV をチェックする] エンドポイントへの PUT で実行します。

このエンドポイントへの PUT は、4つの考えられる応答を返してきます。

  • 200 OK – DCV が正常に完了しました
  • 400 不正な申請 – この応答が出る場合のエラーコードには、以下の3つが考えられます。
    • invalid_dns_txt – DNS TXT レコードが見つからなかった可能性があるか、1つ以上のドメインに間違ったランダム値が含まれています。オーダーのすべてのドメインに正しいランダム値がある適切な DNS TXT レコードがあることを確認してください。
    • file_random_value_not_foundfileauth.txt が見つからなかった可能性があるか、1つ以上のドメインに間違ったランダム値が含まれています。オーダーのすべてのドメインについて、ファイルが正しいディレクトリにあり、一般利用できるか、および正しいランダム値が含まれているか確認してください。
    • invalid_dns_method – オーダーの DCV 方法はメールに設定されています。送信されたメールを探し、DCV 手順を完了するか、DCV 方法を変更してください。
cURL
curl -X PUT \
  'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/check-dcv' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}'
200 OK
{
  "order_status": "pending",
  "certificate_id": 123456,
  "dcv_status": "valid"
}
400 (dns-txt-token)
{
  "errors": [
    {
      "code": "invalid_dns_txt",
      "message": "Could not find a valid TXT record for one or more domains."
    }
  ]
}
400 (http-token)
{
  "errors": [
    {
      "code": "file_random_value_not_found",
      "message": "Could not find the random value at the expected file location for one or more domains."
    }
  ]
}
400 (email)
{
  "errors": [
    {
      "code": "invalid_dns_method",
      "message": "An error occurred while processing your request."
    }
  ]
}

オーダーステータスをチェックする

オーダーを提出し、各ドメインについて DCV を完了した後、そのオーダーステータスをいつ変更し、証明書はいつダウンロード準備が完了するかが気になるでしょう。これを知る最適な方法は、[ステータス変更リスト] エンドポイントへの GET を持つことです。

このエンドポイントへの GET が、考えられる応答を3つ返してきます。

  • 200 OK (orders アレイ) – オーダーアレイには、指定時間枠内にステータスを変更したオーダーがすべて一覧表示されます。オーダーステータスを保留中から発行済に変更すると、リストに表示されます。複数のオーダーが返ってきた場合は、オーダー ID または証明書 ID でそのオーダーを探します。
  • 200 OK (空のオブジェクト) – 空のおプジェクトのある応答 ({}) とは、指定時間枠内にステータスを変更したオーダーはなかったという意味です。時間枠を拡大するか、別の申請の送信を待ちます。
  • 400 不正な申請time_frame_too_long エラーコードのある応答とは、URL クエリ文字列内で指定の時間枠が最大値を超えていることを意味します。時間枠を 10080 マイナス (7 日) 以下の値に減らします。

cURL
curl -X GET \
  'https://www.digicert.com/services/v2/order/certificate/status-changes?minutes=10' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}'
200 OK
{
  "orders": [
    {
      "order_id": 112233,
      "certificate_id": 123456,
      "status": "issued"
    }
  ]
}
200 OK (no orders found)
{}
400 Bad Request
{
  "errors": [
    {
      "code": "time_frame_too_long",
      "message": "An error occurred while processing your request."
    }
  ]
}

DV 証明書をダウンロードする

オーダーステータスが保留中から発行済に変更されると、証明書はダウンロード準備が完了した状態になります。お客様のニーズによって異なりますが、証明書のダウンロードに使用できるエンドポイントは4つあります。

DV 証明書を再発行する

証明書を再発行することで、お客様はドメイン名を追加、削除または交換、CSR を更新、または証明書の証明書ハッシュを新しいオーダーを提出しないで変更することができます。再発行済証明書には新しい証明書 ID がありますが、オーダー ID は同じです。再発行が承認された後、新しい証明書が発効され、再インストールが必要です。

証明書の再発行時、この情報を提供する必要があります。

上記の詳細のいくつかは同じままでも、再発行申請に含める必要があります。

他の SAN ('dns_names') の追加など、特定の変更には、追加コストが発生する場合がありますので、注意してください。

ドメインのいくつか、またはすべてについて、DCV の実行が必要な場合があります。

[証明書を再発行する] エンドポイントでは、以下のオプションパラメータを許可します。

  • コメント – 承認者に対して申請のメッセージを追加します。
  • skip_approval -‑ 申請を認証のため即時提出でき、再発行申請の承認が必要であることを伝えます。
cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{order_id}}/reissue' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "common_name": "example.com",
    "dns_names": [
        "sub.example.com"
    ],
    "csr": "<csr>",
    "server_platform": {
      "id": 2
    },
    "signature_hash": "sha256"
    "skip_approval": true
  }
}'
201 Created
{
  "id": 112233,
  "requests": [
    {
      "id": 332211
    }
  ]
}
201 skip_approval
{
  "id": 112233,
  "certificate_id": 111112
}

再発行が完了した後、新しい証明書をダウンロードします ([DV 証明書をダウンロードする]を参照してください)。

[再発行を一覧表示する] エンドポイントを使用して、オーダーの完全再発行履歴を取得できます。

DV 証明書を失効にする

オーダーが発行されたら、必要に応じて、失効申請を提出することができます。

失効申請はすべて、CertCentral の管理者が、DigiCert がその証明書を失効にする前に、承認しなければなりません。この承認ステップは必須で、スキップすることはできません。

以下の2つのうち1つのエンドポイントを使用して、証明書を失効にすることができます。

両方のエンドポイントは、同じ申請本文パラメータを使用しています。

失効申請の提出後、申請は、[申請ステータスを更新する] エンドポイントから、管理者が承認する必要があります。

cURL
curl -X PUT \
  'https://www.digicert.com/services/v2/certificate/{{certificate_id}}/revoke' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "comments": "I no longer need this cert."
}'
201 Created
{
  "id": 1,
  "date": "2016-02-10T17:06:15+00:00",
  "type": "revoke",
  "status": "pending",
  "requester": {
    "id": 14,
    "first_name": "John",
    "last_name": "Smith",
    "email": "john.smith@digicert.com"
  },
  "comments": "I no longer need this cert."
}