Commander un certificat SSL (type_hint)

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

Ce point de terminaison détermine automatiquement le produit SSL approprié à la demande en fonction des données envoyées. Si le produit est impossible à déterminer, une erreur 400 ambiguous_product est renvoyée.

Appelez ce point de terminaison pour envoyer une demande de certificat à l’aide de l’élément type_hint du produit.

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
}

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
.. 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)
*Consultez le Glossaire — Exigences relatives aux 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 Obligatoire* string ID du certificat de l’autorité de certification qui devrait signer le certificat.
*Obligatoire seulement si type_hint est private.
.. organization_units Facultatif array Service de votre organisation auquel le certificat est destiné.
.. server_platform Facultatif object Type de plate-forme serveur
Obligatoire pour les commandes de certificat de signature de code.
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.
product Facultatif object
.. type_hint Facultatif string Indique le type de produit transmis.
Valeurs autorisées : ov, ev, grid, private
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é)
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.
dcv_method Obligatoire 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.
container Facultatif object Si besoin, spécifier le conteneur sous lequel la commande doit être passée.
.. id Obligatoire int ID du conteneur

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.