Commander un certificat Secure Site OV

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

Appelez ce point de terminaison pour demander un certificat Secure Site OV SSL.

Ce certificat Secure Site OV SSL plus flexible permet d'obtenir plus facilement le certificat Secure Site OV adapté à vos besoins. Ce certificat remplace les produits Secure Site SSL, Secure Site Multi-Domain SSL et Secure Site Wildcard SSL.

cURL
curl -X POST \
  https://www.digicert.com/services/v2/order/certificate/ssl_securesite_flex \
  -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>",
        "signature_hash": "sha256",
        "organization_units": [
            "Shared Services"
        ],
        "server_platform": {
            "id": 2
        }
    },
    "comments": "Certificate for app server.",
    "container": {
        "id": 334455
    },
    "auto_renew": 1,
    "custom_renewal_message": "Keep this renewed.",
    "organization": {
        "id": 123456,
        "contacts": [
            {
                "contact_type": "organization_contact",
                "user_id": 565611
            },
            {
                "contact_type": "technical_contact",
                "first_name": "Jill",
                "last_name": "Valentine",
                "job_title": "STAR Member",
                "telephone": "8017019600",
                "email": "jill.valentine@digicert.com"
            }
        ]
    },
    "validity_years": 2,
    "payment_method": "balance"
}'
Python
import requests

url = "https://www.digicert.com/services/v2/order/certificate/ssl_securesite_flex"

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            \"Shared Services\"\n        ],\n        \"server_platform\": {\n            \"id\": 45\n        }\n    },\n    \"comments\": \"Certificate for app server.\",\n    \"container\": {\n        \"id\": 334455\n    },\n    \"auto_renew\": 1,\n    \"custom_renewal_message\": \"Keep this renewed.\",\n     \"organization\": {\n        \"id\": 123456,\n        \"contacts\": [\n            {\n                \"contact_type\": \"organization_contact\",\n                \"user_id\": 565611\n            },\n            {\n                \"contact_type\": \"technical_contact\",\n                \"user_id\": 565615\n            },\n            {\n                \"contact_type\": \"ev_approver\",\n                \"first_name\": \"Jill\",\n                \"last_name\": \"Valentine\",\n                \"job_title\": \"STAR Member\",\n                \"telephone\": \"8017019600\",\n                \"email\": \"jill.valentine@digicert.com\"\n            }\n        ]\n    },\n    \"validity_years\": 2,\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/ssl_securesite_flex"

	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            \"Shared Services\"\n        ],\n        \"server_platform\": {\n            \"id\": 45\n        }\n    },\n    \"comments\": \"Certificate for app server.\",\n    \"container\": {\n        \"id\": 334455\n    },\n    \"auto_renew\": 1,\n    \"custom_renewal_message\": \"Keep this renewed.\",\n     \"organization\": {\n        \"id\": 123456,\n        \"contacts\": [\n            {\n                \"contact_type\": \"organization_contact\",\n                \"user_id\": 565611\n            },\n            {\n                \"contact_type\": \"technical_contact\",\n                \"user_id\": 565615\n            },\n            {\n                \"contact_type\": \"ev_approver\",\n                \"first_name\": \"Jill\",\n                \"last_name\": \"Valentine\",\n                \"job_title\": \"STAR Member\",\n                \"telephone\": \"8017019600\",\n                \"email\": \"jill.valentine@digicert.com\"\n            }\n        ]\n    },\n    \"validity_years\": 2,\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/ssl_securesite_flex',
  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: [ 'Shared Services' ],
        server_platform: { id: 45 } },
     comments: 'Certificate for app server.',
     container: { id: 334455 },
     auto_renew: 1,
     custom_renewal_message: 'Keep this renewed.',
     organization: 
      { id: 123456,
        contacts: 
         [ { contact_type: 'organization_contact', user_id: 565611 },
           { contact_type: 'technical_contact', user_id: 565615 },
           { contact_type: 'ev_approver',
             first_name: 'Jill',
             last_name: 'Valentine',
             job_title: 'STAR Member',
             telephone: '8017019600',
             email: 'jill.valentine@digicert.com' } ] },
     validity_years: 2,
     payment_method: 'balance' },
  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

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)
.. 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.
.. 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
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.)
locale Facultatif string Langue à utiliser dans le courrier électronique DCV
Consultez le Glossaire — Codes de paramètres régionaux.
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.
.. contacts Obligatoire array Liste des contacts de l'organisation associés à la commande.
Remarque : Vous devez inclure un contact ev_approver. Pour obtenir les approbateurs potentiels EV, consultez la page Liste des approbateurs.
.. .. contact_type Obligatoire string Type de contact à ajouter à la commande.
Valeurs autorisées : organization_contact, technical_contact, ev_approver
.. .. user_id obligatoire* int ID de l'utilisateur existant ou du contact pour le compte.
* Peut être omis si l'on ajoute un nouveau contact.
.. .. first_name Facultatif string Prénom du nouveau contact.
Remarque : Requis en cas d'omission user_id. Si user_id n'est pas omis(e), les informations de l'utilisateur spécifié seront mises à jour avec la nouvelle valeur.
.. .. last_name Facultatif string Nom du nouveau contact.
Remarque : Requis en cas d'omission user_id. Si user_id n'est pas omis(e), les informations de l'utilisateur spécifié seront mises à jour avec la nouvelle valeur.
.. .. job_title Facultatif string Intitulé de poste du nouveau contact.
Remarque : Requis en cas d'omission user_id. Si user_id n'est pas omis(e), les informations de l'utilisateur spécifié seront mises à jour avec la nouvelle valeur.
.. .. telephone Facultatif string Numéro de téléphone du nouveau contact.
Remarque : Requis en cas d'omission user_id. Si user_id n'est pas omis(e), les informations de l'utilisateur spécifié seront mises à jour avec la nouvelle valeur.
.. .. email Facultatif string Adresse électronique du nouveau contact.
Remarque : Requis en cas d'omission user_id. Si user_id n'est pas omis(e), les informations de l'utilisateur spécifié seront mises à jour avec la nouvelle valeur.
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.