Commander un certificat SSL privé

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

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

Appelez ce point de terminaison pour envoyer une commande de certificat privé en utilisant private_ssl_plus, private_ssl_wildcard, ou private_ssl_multi_domain dans le paramètre private_ssl_certificate_id.

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{private_ssl_certificate_id}}' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
    "certificate": {
        "common_name": "192.168.1.195",
        "dns_names": [
        	"192.168.1.196",
        	"192.168.1.197"
        ],
        "csr": "<csr>",
        "server_platform": {
            "id": 45
        },
        "signature_hash": "sha256",
        "ca_cert_id": "10A101A05684",
        "organization_units": [
            "Accounting department"
        ]
    },
    "validity_years": 1,
    "comments": "Message for the approver",
    "disable_renewal_notifications": true,
    "locale": "en",
    "payment_method": "balance",
    "skip_approval": true,
    "organization": {
        "id": 123456
    }
}'
Python
import requests

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

payload = "{\n    \"certificate\": {\n        \"common_name\": \"192.168.1.195\",\n        \"dns_names\": [\n        \t\"192.168.1.196\",\n        \t\"192.168.1.197\"\n        ],\n        \"csr\": \"<csr>\",\n        \"server_platform\": {\n            \"id\": 45\n        },\n        \"signature_hash\": \"sha256\",\n        \"ca_cert_id\": \"10A101A05684\",\n        \"organization_units\": [\n            \"Accounting department\"\n        ]\n    },\n    \"validity_years\": 1,\n    \"comments\": \"Message for the approver\",\n    \"disable_renewal_notifications\": true,\n    \"locale\": \"en\",\n    \"payment_method\": \"balance\",\n    \"skip_approval\": true,\n    \"organization\": {\n        \"id\": 123456\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/{{private_ssl_certificate_id}}"

	payload := strings.NewReader("{\n    \"certificate\": {\n        \"common_name\": \"192.168.1.195\",\n        \"dns_names\": [\n        \t\"192.168.1.196\",\n        \t\"192.168.1.197\"\n        ],\n        \"csr\": \"<csr>\",\n        \"server_platform\": {\n            \"id\": 45\n        },\n        \"signature_hash\": \"sha256\",\n        \"ca_cert_id\": \"10A101A05684\",\n        \"organization_units\": [\n            \"Accounting department\"\n        ]\n    },\n    \"validity_years\": 1,\n    \"comments\": \"Message for the approver\",\n    \"disable_renewal_notifications\": true,\n    \"locale\": \"en\",\n    \"payment_method\": \"balance\",\n    \"skip_approval\": true,\n    \"organization\": {\n        \"id\": 123456\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/{{private_ssl_certificate_id}}',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { common_name: '192.168.1.195',
        dns_names: [ '192.168.1.196', '192.168.1.197' ],
        csr: '<csr>',
        server_platform: { id: 45 },
        signature_hash: 'sha256',
        ca_cert_id: '10A101A05684',
        organization_units: [ 'Accounting department' ] },
     validity_years: 1,
     comments: 'Message for the approver',
     disable_renewal_notifications: true,
     locale: 'en',
     payment_method: 'balance',
     skip_approval: true,
     organization: { id: 123456 } },
  json: true };

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

  console.log(body);
});
201 (one-step)
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "pending"
    }
  ]
}
201 (two-step)
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "submitted"
    }
  ]
}
201 (auto)
{
  "id": 112233,
  "requests": [
    {
      "id": 113,
      "status": "approved"
    }
  ],
  "certificate_id": 113
}
201 (skip)
{
  "id": 112233,
  "certificate_id": 113
}
201 (immediate)
{
  "id": 112233,
  "certificate_id": 113,
  "certificate_chain": [
    {
      "subject_common_name": "example.com",
      "pem": "<pem_certificate>"
    },
    {
      "subject_common_name": "DigiCert SHA2 Secure Server CA",
      "pem": "<pem_certificate>"
    },
    {
      "subject_common_name": "DigiCert Global Root CA",
      "pem": "<pem_certificate>"
    }
  ]
}

Paramètres de demande

Exécutez le point de terminaison Product list (Répertorier les produits) et repérez le groupe allowed_ca_certs pour identifier les valeurs ca_cert_id possibles.

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)
.. signature_hash Obligatoire string Algorithme de hachage utilisé pour signer le certificat.
Les certificats de signature de code n’acceptent que l’algorithme SHA-256.
.. ca_cert_id Facultatif* string ID du certificat de l’autorité de certification qui devrait signer le certificat.
*Obligatoire si plusieurs certificat d’AC sont configurés.
.. 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.
.. profile_option Facultatif string Si vous utilisez des profils de certificat personnalisés, spécifiez le nom de profil.
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 Facultatif string Méthode DCV à utiliser pour vérifier le contrôle d’un domaine
Consultez le Glossaire — Méthodes DCV
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
organization Obligatoire object Conteneur destiné aux détails de l’organisation
.. id Obligatoire int ID de l’organisation à associer à la commande.
Pour ajouter une nouvelle organisation lors de l’envoi d’une commande, vous pouvez aussi transmettre un objet Organisation. Consultez la page Créer une organisation pour connaître les exigences relatives à la structure d’objet.
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.

Paramètres de réponse

Nom Type Description
id int ID de la commande
organization object Conteneur destiné aux nouveaux détails de l’organisation
Retourné seulement si une nouvelle organisation a été créée avec la commande.
.. id int ID de la nouvelle organisation
requests array Contient les informations relatives à la demande.
.. id int ID de la demande
.. status string Statut de la demande
Valeurs possibles : pending, submitted, approved, rejected
certificate_id int ID du certificat
Renvoyé si le statut de la demande est approved.