Ordina SSL (type_hint)

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

Questo endpoint determina automaticamente il prodotto SSL appropriato per la richiesta in base ai dati inviati. Se non è possibile determinare un prodotto, viene riportato un errore 400 ambiguous_product.

Usa questo endpoint per inviare una richiesta di certificato usando il prodotto type_hint.

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
}

Parametri richiesta

Per informazioni sui valori consentiti per i campi del certificato, consulta Certificati attendibili pubblicamente – Dati inseriti che violano gli standard di settore.

Nome Rich/Opz Tipo Descrizione
certificato obbligatorio oggetto
.. common_name obbligatorio string Dominio da proteggere.
.. dns_names facoltativo array Altri domini da proteggere.
Può prevedere costi aggiuntivi. (Consulta Best practice — Richiedi gratuitamente entrambe le versioni di un dominio.)
.. csr obbligatorio* string Richiesta di firma certificato (CSR).
*Consulta Glossario — Requisiti CSR
.. signature_hash obbligatorio string Algoritmo hash usato per firmare il certificato.
I certificati di firma codice supportano solo SHA-256.
.. ca_cert_id obbligatorio* string ID del certificato CA che deve firmare il certificato.
*Obbligatorio solo se type_hint è private.
.. organization_units facoltativo array Reparto dell’organizzazione a cui è rivolto il certificato.
.. server_platform facoltativo object Tipo di piattaforma server.
Obbligatorio per gli ordini di certificati di firma codice.
Predefinita: -1 (altro)
.. .. id obbligatorio int ID piattaforma server.
Consulta Glossario — Piatteforme server
renewed_thumbprint facoltativo string Se un ordine prevede un rinnovo, inserisci l’identificazione personale SHA-1 del certificato primario dell’ordine precedente.
validity_years obbligatorio int Numero di anni in cui è valido il certificato.
Può essere sostituito da validity_days o custom_expiration_date.
Valori consentiti: 1, 2
validity_days facoltativo int Numero di giorni in cui il certificato è valido dopo l’emissione.
Sostituisce validity_years
custom_expiration_date facoltativo string Data di scadenza personalizzata per il certificato. La data deve essere inferiore a 825 giorni nel futuro.
Sostituisce validity_days e validity_years
Formato: yyyy-MM-dd
comments facoltativo string Commenti sull’ordine per l’approvatore.
prodotto facoltativo oggetto
.. type_hint facoltativo string Specifica il tipi di prodotto da passare.
Valori consentiti: ov, ev, grid, private
auto_renew facoltativo int Specifica se il certificato deve rinnovarsi automaticamente.
Predefinita: 0
Valori consentiti: 0 (disabilitata), 1 (abilitata)
disable_renewal_notifications facoltativo bool Specifica se le e-mail di notifica rinnovo devono essere disabilitate.
Predefinita: false
additional_emails facoltativo array Altri indirizzi e-mail per ricevere e-mail di notifica certificato (ad es. emissione del certificato, certificato duplicato, rinnovi certificato, ecc.).
renewal_of_order_id facoltativo int Se un ordine prevede un rinnovo, inserisci l’ID dell’ordine precedente.
dcv_method obbligatorio string Metodo DCV da usare quando si verifica il controllo dominio.
Consulta Glossario — Metodi DCV
skip_approval facoltativo bool Specifica se l’ordine deve saltare la fase di approvazione ed essere inviato immediatamente per la convalida ed emesso se completato.
Predefinita: false
disable_ct facoltativo bool Specifica se la registrazione CT per il certificato deve essere disabilitata.
La registrazione CT specifica dell’ordine deve essere abilitata oppure verrà ignorata. Consulta Consenti sempre agli utenti di conservare i certificati fuori dai registri CT.
Predefinita: false
organization obbligatorio object Contenitore per i dettagli organizzazione.
.. id obbligatorio int ID dell’organizzazione da associare all’ordine.
container facoltativo object Se necessario, specificare il contenitore in cui deve essere posizionato l’ordine.
.. id obbligatorio int ID contenitore.

Parametri di risposta

Nome Tipo Descrizione
id int ID ordine.
organization object Contenitore per i nuovi dettagli organizzazione.
Riportato solo se è stata creata una nuova organizzazione con l’ordine.
.. id int ID organizzazione per la nuova organizzazione.
requests array Contiene le informazioni sulla richiesta.
.. id int ID richiesta
.. status string Stato richiesta.
Valori possibili: pending, submitted, approved, rejected
certificate_id int ID certificato.
Riportato se lo stato richiesta. è approved.