DigiCert ONE

DigiCert® ONE est une plateforme de PKI moderne qui fournit une fondation évolutive pour un déploiement rapide et flexible des PKI. Les API DigiCert ONE fournissent une interface puissante pour la gestion de vos certificats et de vos machines, la personnalisation et l’automatisation des workflows, et enfin l’intégration de DigiCert ONE à vos outils de gestion de PKI existants.

DigiCert ONE inclut des API pour gérer les activités trouvables dans les consoles suivantes :

Démarrer

Avant de pouvoir utiliser les API DigiCert ONE, vous devez :

  • Compte DigiCert ONE
  • Clé d’API DigiCert ONE
  • Capacité à effectuer des requêtes API REST

Créer une clé d’API

Pour créer une nouvelle clé d’API :

  1. Connectez-vous à votre compte DigiCert ONE
  2. Rendez-vous sur la console de Gestionnaire de comptes.
  3. Depuis le menu de gauche, sélectionnez Accès > API Jetons.
  4. Sélectionnez Créer un jeton d’API.
  5. Remplissez le formulaire pour créer la clé

Chaque clé d’API n’est affichée qu'une seule fois. Il n’existe aucun moyen pour récupérer une clé d’API. Si jamais vous perdez votre clé d’API, révoquez-la et générez-en une nouvelle.

Authentification

Les API DigiCert ONE utilisent une authentification basée sur l’en-tête. Chaque demande inclut l’en-tête HTTP personnalisé x‑api‑key. Utilisez votre propre clé d’API en tant que valeur pour cet en-tête quand vous soumettez vos requêtes.

Par exemple, voici une requête pour le point de terminaison de création d'une nouvelle machine :

cURL
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}}
  }'
Python
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'))
Go
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))
}
NodeJS
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);
});

URL de base

Utilisez cette URL de base pour créer les requêtes d’API DigiCert ONE.

generic
https://one.digicert.com

Chaînes de requête d’URL

Certains points de terminaison utilisent des chaînes de requête d’URL pour filtrer les résultats. Pour ajouter des chaînes de requête à l’URL du point de terminaison, utilisez ?. Pour ajouter des chaînes de requête supplémentaires, utilisez &.

Cet exemple utilise la chaîne de requête division_id pour filtrer les résultats dans la division spécifiée.

generic
https://one.digicert.com/iot/api/v1/device/{{device_identifier}}?division_id={{division_id}}

Demandes

Toutes les requêtes sont envoyées au moyen d’URL RESTful utilisant les fonctions REST, y compris l’authentification basée sur l’en-tête et les demandes de type JSON.

Le format d’encodage du jeu de caractères des données pour les demandes est UTF-8. Une requête bien formée utilise le port 443 et spécifie l’agent utilisateur et la longueur du contenu dans les en-têtes HTTP.

Méthodes

Les API DigiCert ONE utilisent les méthodes HTTP ordinaires, notamment :

  • GET
  • POST
  • PUT
  • DELETE

Corps

Sauf indication contraire, la plupart des demandes nécessitent de transférer des données au format JSON ou XML. Les valeurs prises en charge pour l’en-tête Content-Type comprennent :

  • application/json

Réponses

Les réponses sont composées d’en-têtes et d’un corps. Le formatage du corps de la réponse dépend du type de contenu que vous avez indiqué dans la requête.

Pour de plus amples informations sur les codes de réponse aux en-têtes HTTP, consultez le Glossaire – En-têtes.