Commander un certificat de signature de code

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

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

Appelez ce point de terminaison pour envoyer une commande de certificat de signature de code en utilisant code_signing ou code_signing_ev dans le paramètre code_signing_certificate_id.

cURL
curl -X POST \
  'https://www.digicert.com/services/v2/order/certificate/{{code_signing_certificate_id}}' \
  -H 'Content-Type: application/json' \
  -H 'X-DC-DEVKEY: {{api_key}}' \
  -d '{
  "certificate": {
    "organization_units": [
      "Engineering"
    ],
    "server_platform": {
      "id": 52
    },
    "signature_hash": "sha256"
  },
  "cs_provisioning_method": "ship_token",
  "validity_years": 1,
  "comments": "Message for the approver",
  "skip_approval": true,
  "organization": {
    "id": 123456
  },
  "ship_info": {
    "name": "Erin Guerra",
    "addr1": "360 Taylor Street",
    "addr2": "Floor 74",
    "city": "Richmond",
    "state": "va",
    "zip": "69662",
    "country": "us",
    "method": "EXPEDITED"
  },
  "auto_renew": 1,
  "custom_renewal_message": "Renew this please.",
  "custom_fields": [
    {
      "metadata_id": 12,
      "value": "123456"
    }
  ],
  "payment_method": "balance"
}'
Python
import requests

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

payload = "{\n  \"certificate\": {\n    \"organization_units\": [\n      \"Engineering\"\n    ],\n    \"server_platform\": {\n      \"id\": 52\n    },\n    \"signature_hash\": \"sha256\"\n  },\n  \"cs_provisioning_method\": \"ship_token\",\n  \"validity_years\": 1,\n  \"comments\": \"Message for the approver\",\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 123456\n  },\n  \"container\": {\n    \"id\": 654321\n  },\n  \"ship_info\": {\n    \"name\": \"Erin Guerra\",\n    \"addr1\": \"360 Taylor Street\",\n    \"addr2\": \"Floor 74\",\n    \"city\": \"Richmond\",\n    \"state\": \"va\",\n    \"zip\": \"69662\",\n    \"country\": \"us\",\n    \"method\": \"EXPEDITED\"\n  },\n  \"auto_renew\": 1,\n  \"custom_renewal_message\": \"Renew this please.\",\n  \"custom_fields\": [\n    {\n      \"metadata_id\": 12,\n      \"value\": \"123456\"\n    }\n  ],\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/{{code_signing_certificate_id}}"

	payload := strings.NewReader("{\n  \"certificate\": {\n    \"organization_units\": [\n      \"Engineering\"\n    ],\n    \"server_platform\": {\n      \"id\": 52\n    },\n    \"signature_hash\": \"sha256\"\n  },\n  \"cs_provisioning_method\": \"ship_token\",\n  \"validity_years\": 1,\n  \"comments\": \"Message for the approver\",\n  \"skip_approval\": true,\n  \"organization\": {\n    \"id\": 123456\n  },\n  \"container\": {\n    \"id\": 654321\n  },\n  \"ship_info\": {\n    \"name\": \"Erin Guerra\",\n    \"addr1\": \"360 Taylor Street\",\n    \"addr2\": \"Floor 74\",\n    \"city\": \"Richmond\",\n    \"state\": \"va\",\n    \"zip\": \"69662\",\n    \"country\": \"us\",\n    \"method\": \"EXPEDITED\"\n  },\n  \"auto_renew\": 1,\n  \"custom_renewal_message\": \"Renew this please.\",\n  \"custom_fields\": [\n    {\n      \"metadata_id\": 12,\n      \"value\": \"123456\"\n    }\n  ],\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/{{code_signing_certificate_id}}',
  headers: 
   { 'Content-Type': 'application/json',
     'X-DC-DEVKEY': '{{api_key}}' },
  body: 
   { certificate: 
      { organization_units: [ 'Engineering' ],
        server_platform: { id: 52 },
        signature_hash: 'sha256' },
     cs_provisioning_method: 'ship_token',
     validity_years: 1,
     comments: 'Message for the approver',
     skip_approval: true,
     organization: { id: 123456 },
     container: { id: 654321 },
     ship_info: 
      { name: 'Erin Guerra',
        addr1: '360 Taylor Street',
        addr2: 'Floor 74',
        city: 'Richmond',
        state: 'va',
        zip: '69662',
        country: 'us',
        method: 'EXPEDITED' },
     auto_renew: 1,
     custom_renewal_message: 'Renew this please.',
     custom_fields: [ { metadata_id: 12, value: '123456' } ],
     payment_method: 'balance' },
  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

Les paramètres assortis d’un astérisque (*) ne sont utilisés que pour les commandes de certificat de signature de code EV.

Nom Obligatoire/facultatif Type Description
certificate Obligatoire object Détails du certificat
.. csr Facultatif string Demande de signature de certificat (Certificate Signing Request, CSR)
Non obligatoire pour les certificats de signature de code EV.
Obligatoire si la valeur server_platform.id est 55 (Sun Java).
.. signature_hash Obligatoire string Algorithme de hachage utilisé pour signer le certificat.
Valeurs autorisées : sha256
.. 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.
.. organization_units Facultatif array Service de votre organisation associé au certificat
auto_renew Facultatif int Nombre de fois selon lequel le certificat doit être automatiquement renouvelé
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.
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
organization Obligatoire object Organisation à associer à la commande
.. id Obligatoire int ID de l’organisation
container Facultatif object Si besoin, spécifier le conteneur sous lequel la commande doit être passée.
.. id Obligatoire int ID du conteneur
validity_years Obligatoire int Nombre d’années pendant lesquelles le certificat est valide
Valeurs autorisées : 1, 2, 3
cs_provisioning_method* Obligatoire string Pour les certificats de signature de code EV, spécifier la méthode de réception du jeton.
Consultez le Glossaire — Méthodes d’approvisionnement CS
ship_info* Facultatif object Pour les certificats de signature de code EV, spécifier l’adresse d’expédition du jeton.
.. name Obligatoire Chaîne
.. addr1 Obligatoire Chaîne
.. addr2 Facultatif Chaîne
.. city Obligatoire Chaîne
.. state Obligatoire Chaîne
.. zip Obligatoire Chaîne
.. country Obligatoire Chaîne
.. method Obligatoire string Priorité d’expédition du jeton
Valeurs autorisées : STANDARD, EXPEDITED (entraîne des coûts supplémentaires)
custom_fields Facultatif* object 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.
payment_method Facultatif string Indique le mode de paiement à utiliser
Valeurs autorisées : balance, card, profile
Valeur par défaut : balance

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.