Commander un certificat SSL DV

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

Cette page décrit les produits dont le nom de groupe est dv_ssl_certificate (consulter le Glossaire – Identificateurs de produits).

Appelez ce point de terminaison pour envoyer une demande de commande de certificat DV à l’aide de ssl_dv_geotrust, ssl_dv_rapidssl, wildcard_dv_geotrust, wildcard_dv_rapidssl, ou cloud_dv_geotrust dans le paramètre dv_ssl_certificate_id.

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",
        	"log.example.com"
        ],
        "csr": "<csr>",
        "server_platform": {
            "id": 2
        }
    },
    "custom_expiration_date": "",
    "comments": "Message for the approver.",
    "container": {
        "id": 69748
    },
    "custom_renewal_message": "Renew me.",
    "skip_approval": true,
    "disable_ct": 0,
    "validity_years": 1,
    "custom_fields": [
        {
            "metadata_id": 12,
            "value": "Invoice #12345"
        }
    ],
    "payment_method": "balance",
    "dcv_method": "email",
    "dcv_emails": [
    	{
    		"dns_name": "example.com",
    		"email_domain": "example.com",
    		"email": "admin@example.com"
    	},
    	{
    		"dns_name": "sub.example.com",
    		"email_domain": "example.com",
    		"email": "jim.smith@example.com"
    	},
    	{
    		"dns_name": "log.example.com",
    		"email_domain": "example.com",
    		"email": "it@example.com"
    	}
    ],
    "locale": "en",
    "technical_contact": {
        "first_name": "Jim",
        "last_name": "Smith",
        "telephone": "555-555-5555",
        "job_title": "IT Admin",
        "email": "jim.smith@example.com"
    }
}'
Python
import requests

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

payload = "{\n    \"certificate\": {\n        \"common_name\": \"example.com\",\n        \"dns_names\": [\n        \t\"sub.example.com\",\n        \t\"log.example.com\"\n        ],\n        \"csr\": \"<csr>\",\n        \"server_platform\": {\n            \"id\": 2\n        }\n    },\n    \"custom_expiration_date\": \"\",\n    \"comments\": \"Message for the approver.\",\n    \"container\": {\n        \"id\": 69748\n    },\n    \"custom_renewal_message\": \"Renew me.\",\n    \"skip_approval\": true,\n    \"disable_ct\": 0,\n    \"validity_years\": 1,\n    \"custom_fields\": [\n        {\n            \"metadata_id\": 12,\n            \"value\": \"Invoice #12345\"\n        }\n    ],\n    \"payment_method\": \"balance\",\n    \"dcv_method\": \"email\",\n    \"dcv_emails\": [\n    \t{\n    \t\t\"dns_name\": \"example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"admin@example.com\"\n    \t},\n    \t{\n    \t\t\"dns_name\": \"sub.example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"jim.smith@example.com\"\n    \t},\n    \t{\n    \t\t\"dns_name\": \"log.example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"it@example.com\"\n    \t}\n    ],\n    \"locale\": \"en\",\n    \"technical_contact\": {\n        \"first_name\": \"Jim\",\n        \"last_name\": \"Smith\",\n        \"telephone\": \"555-555-5555\",\n        \"job_title\": \"IT Admin\",\n        \"email\": \"jim.smith@example.com\"\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/{{dv_ssl_certificate_id}}"

	payload := strings.NewReader("{\n    \"certificate\": {\n        \"common_name\": \"example.com\",\n        \"dns_names\": [\n        \t\"sub.example.com\",\n        \t\"log.example.com\"\n        ],\n        \"csr\": \"<csr>\",\n        \"server_platform\": {\n            \"id\": 2\n        }\n    },\n    \"custom_expiration_date\": \"\",\n    \"comments\": \"Message for the approver.\",\n    \"container\": {\n        \"id\": 69748\n    },\n    \"custom_renewal_message\": \"Renew me.\",\n    \"skip_approval\": true,\n    \"disable_ct\": 0,\n    \"validity_years\": 1,\n    \"custom_fields\": [\n        {\n            \"metadata_id\": 12,\n            \"value\": \"Invoice #12345\"\n        }\n    ],\n    \"payment_method\": \"balance\",\n    \"dcv_method\": \"email\",\n    \"dcv_emails\": [\n    \t{\n    \t\t\"dns_name\": \"example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"admin@example.com\"\n    \t},\n    \t{\n    \t\t\"dns_name\": \"sub.example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"jim.smith@example.com\"\n    \t},\n    \t{\n    \t\t\"dns_name\": \"log.example.com\",\n    \t\t\"email_domain\": \"example.com\",\n    \t\t\"email\": \"it@example.com\"\n    \t}\n    ],\n    \"locale\": \"en\",\n    \"technical_contact\": {\n        \"first_name\": \"Jim\",\n        \"last_name\": \"Smith\",\n        \"telephone\": \"555-555-5555\",\n        \"job_title\": \"IT Admin\",\n        \"email\": \"jim.smith@example.com\"\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/{{dv_ssl_certificate_id}}',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { common_name: 'example.com',
        dns_names: [ 'sub.example.com', 'log.example.com' ],
        csr: '<csr>',
        server_platform: { id: 2 } },
     custom_expiration_date: '',
     comments: 'Message for the approver.',
     container: { id: 69748 },
     custom_renewal_message: 'Renew me.',
     skip_approval: true,
     disable_ct: 0,
     validity_years: 1,
     custom_fields: [ { metadata_id: 12, value: 'Invoice #12345' } ],
     payment_method: 'balance',
     dcv_method: 'email',
     dcv_emails: 
      [ { dns_name: 'example.com',
          email_domain: 'example.com',
          email: 'admin@example.com' },
        { dns_name: 'sub.example.com',
          email_domain: 'example.com',
          email: 'jim.smith@example.com' },
        { dns_name: 'log.example.com',
          email_domain: 'example.com',
          email: 'it@example.com' } ],
     locale: 'en',
     technical_contact: 
      { first_name: 'Jim',
        last_name: 'Smith',
        telephone: '555-555-5555',
        job_title: 'IT Admin',
        email: 'jim.smith@example.com' } },
  json: true };

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

  console.log(body);
});
201 Created (email)
{
  "id": 6484932,
  "certificate_id": 6079436
}
201 Created (dns-txt-token or http-token)
{
  "id": 6484932,
  "certificate_id": 6079436
  "dcv_random_value": "icru1984rnekfj"
}

Paramètres de demande

Pour obtenir des informations sur les valeurs autorisées des champs du certificat, consultez la page Publicly Trusted Certificates – Data Entries that Violate Industry Standards (Certificats publiquement approuvés – Entrées de données non conformes aux normes de l’industrie).

Nom Obligatoire/facultatif Type Description
certificate Obligatoire object Détails du certificat
.. common_name Obligatoire string Domaine à protéger
.. dns_names Facultatif array Domaines supplémentaires à protéger
Peut entraîner des coûts supplémentaires. (Consultez la page Bonnes pratiques — Obtenir gratuitement les deux versions d’un domaine.)
.. csr Obligatoire* string Demande de signature de certificat (Certificate Signing Request, CSR)
.. organization_units Facultatif array Service de votre organisation auquel le certificat est destiné.
.. server_platform Facultatif object Type de plate-forme serveur
Valeur par défaut : -1 (autre)
.. .. id Obligatoire int Identificateur de la plate-forme serveur
Consultez le Glossaire — Plateformes serveurs.
renewed_thumbprint Facultatif string Si la commande est un renouvellement, saisir l’empreinte SHA-1 du certificat principal de la commande précédente.
validity_years Obligatoire int Nombre d’années pendant lesquelles le certificat est valide
Peut être remplacé par validity_days ou custom_expiration_date.
Valeurs autorisées : 1, 2
validity_days Facultatif int Nombre de jours pendant lesquels le certificat est valide une fois émis.
Remplace validity_years
custom_expiration_date Facultatif string Date d’expiration personnalisée du certificat La date ne doit pas être ultérieure de 825 jours.
Remplace validity_days et validity_years
Format : yyyy-MM-dd
comments Facultatif string Commentaires relatifs à la commande à l’attention de l’approbateur.
auto_renew Facultatif int Spécifier si le certificat doit automatiquement être renouvelé.
Valeur par défaut : 0
Valeurs autorisées : 0 (désactivé), 1 (activé)
custom_renewal_message Facultatif string Message personnalisé à inclure dans les notifications de renouvellement
disable_renewal_notifications Facultatif bool Spécifier si les notifications électroniques de renouvellement doivent être désactivées.
Valeur par défaut : false
additional_emails Facultatif array Adresses électroniques supplémentaires pour recevoir les courriers électroniques de notification des certificats (par exemple, émission du certificat, duplicata du certificat, renouvellement du certificat, etc.)
renewal_of_order_id Facultatif int Si la commande est un renouvellement, saisir l’ID de la commande précédente.
payment_method Facultatif string Indique le mode de paiement à utiliser
Valeurs autorisées : balance, card, profile
Valeur par défaut : balance
dcv_method Obligatoire string Méthode DCV à utiliser pour vérifier le contrôle d’un domaine
Consultez le Glossaire — Méthodes DCV
dcv_emails Facultatif array Liste spécifiant l’étendue des adresses électroniques auxquelles les courriers DCV sont envoyés.
Vous pouvez ajouter une entrée pour chaque nom DNS protégé par le certificat.
.. dns_name Obligatoire string Nom DNS du certificat auquel cette étendue doit s’appliquer.
.. email_domain Obligatoire string Enregistrement de domaine WHOIS à utiliser pour vérifier les adresses électroniques.
Cette valeur doit correspondre au dns_names domaine de base.
.. email Facultatif string Adresse électronique utilisée pour envoyer les courriers DCV
Cette adresse électronique doit apparaître sur l’enregistrement WHOIS du domaine spécifié dans le paramètre email_domain.
locale Facultatif string Langue à utiliser dans le courrier électronique DCV
Consultez le Glossaire — Codes de paramètres régionaux.
skip_approval Facultatif bool Spécifier si la commande peut immédiatement être envoyée pour validation et émise une fois finalisée sans passer par l’étape d’approbation.
Valeur par défaut : false
disable_ct Facultatif bool Spécifier si la journalisation CT doit être désactivée pour le certificat.
La journalisation CT spécifique à la commande doit être activée sinon cette fonction sera ignorée. Consultez la page Autoriser les utilisateurs à exclure des certificats de la journalisation CT.
Valeur par défaut : false
container Facultatif object Si besoin, spécifier le conteneur sous lequel la commande doit être passée.
.. id Obligatoire int ID du conteneur
custom_fields Facultatif* array Champs personnalisés en fonction du compte
*Le caractère obligatoire ou facultatif de ces champs dépend des paramètres de champ personnalisé définis.
.. metadata_id Obligatoire int ID de champ personnalisé
.. value Obligatoire string Valeur du champ personnalisé
Le type de validation des données dépend des paramètres de champ personnalisé que vous avez définis.
technical_contact Facultatif object Détails du contact technique
.. first_name Obligatoire Chaîne
.. last_name Obligatoire Chaîne
.. telephone Obligatoire Chaîne
.. job_title Facultatif Chaîne
.. email Obligatoire Chaîne

Paramètres de réponse

Nom Type Description
id int ID de la commande
certificate_id int ID du certificat
dcv_random_value string Valeur aléatoire utilisée pour valider le contrôle d’un domaine.
Renvoyée seulement si la méthode DCV utilisée est dns-txt-token ou http-token.