DigiCert® ONE è una piattaforma PKI moderna che fornisce basi scalabili per un utilizzo PKI rapido e flessibile. Le API DigiCert ONE forniscono una potente interfaccia per la gestione dei certificati e dei dispositivi, a personalizzazione e l’automatizzazione dei flussi di lavoro e l’integrazione di DigiCert ONE con gli strumenti di gestione PKI esistenti.
DigiCert ONE include delle API per la gestione delle attività trovate in queste console:
Prima di poter usare le API DigiCert ONE, serve:
Per creare una nuova chiave API:
Ciascuna chiave API viene visualizza una sola volta. Non vi sono modi per recuperare una chiave API persa. Se mai perdessi una chiave API, revocala e generane una nuova.
Le API DigiCert ONE utilizzano l’autenticazione basata su intestazione. Ciascuna richiesta include l’intestazione HTTP personalizzata x‑api‑key
. Usa la tua chiave API come valore per questa intestazione quando invii le tue richieste.
Ad esempio, ecco una richiesta per l’endpoint per la creazione di un nuovo dispositivo:
curl -X POST \
'https://one.digicert.com/iot/api/v1/device' \
-H 'x-api-key: {{api_key}}' \
-H 'Content-Type: application/json' \
-d '{
"division_id": {{division_id}},
"device_identifier": "MyDevice",
"device_profile_id": {{device_profile_id}}
}'
import requests
url = "https://stage.one.digicert.com/iot/api/v1/device"
payload = "{\n \"division_id\": {{division_id}},\n \"device_identifier\": \"MyDevice\",\n \"device_profile_id\": {{device_profile_id}}\n}"
headers = {
'x-api-key': {{api_key}},
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://stage.one.digicert.com/iot/api/v1/device"
method := "POST"
payload := strings.NewReader("{\n \"division_id\": {{division_id}},\n \"device_identifier\": \"MyDevice\",\n \"device_profile_id\": {{device_profile_id}}\n}")
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
}
req.Header.Add("x-api-key", {{api_key}})
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://stage.one.digicert.com/iot/api/v1/device',
'headers': {
'x-api-key': {{api_key}},
'Content-Type': 'application/json'
},
body: "{\n \"division_id\": {{division_id}},\n \"device_identifier\": \"MyDevice\",\n \"device_profile_id\": {{device_profile_id}}\n}"
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
Usa questo URL base per realizzare le richieste API DigiCert ONE:
https://one.digicert.com
Alcuni endpoint utilizzano le stringhe di query URL per filtrare i risultati. Per aggiugere delle stringhe di query all’URL di endpoint, usa ?. Per aggiungere altre stringhe di query, usa &.
Questo esempio utilizza la stringa di query division_id
per filtrare i risultati nella divisione specificata:
https://one.digicert.com/iot/api/v1/device/{{device_identifier}}?division_id={{division_id}}
Tutte le richieste vengono inviate tramite gli URL RESTful usando le funzioni REST, fra cui l’autenticazione basata su intestazione e i tipi di richiesta JSON.
La codifica della serie di caratteri dei dati per le richieste è UTF-8. Una richiesta ben formulata utilizza la porta 443 e specifica le intestazioni HTTP agente utente e lunghezza contenuto.
Le API DigiCert ONE utilizzano metodi HTTP standard, fra cui:
GET
POST
PUT
DELETE
Se non diversamente indicato, la maggior parte delle richieste richiede il passaggio di dati formattati JSON o XML. I valori supportati per l’intestazione Content-Type
includono:
application/json
Le risposte sono formate da intestazioni e un corpo. La formattazione del corpo della risposta dipende dal tipo di contenuto specificato nella richiesta.
Per ulteriori informazioni sui singoli codici di risposta dell’intestazione HTTP, consulta Glossario – Intestazioni.