Aller au contenu principal
S'applique à :
DuoKey Cockpit v2PKI / SSL / TLSGestion du cycle de vie des certificats

L'API PKI comporte deux familles d'endpoints. L'API de gestion (/api/pki/…) est authentifiée par une session utilisateur Cockpit, délimitée à votre tenant, et soumise aux permissions Operations.Pki.* ; elle crée et exploite les CA, certificats, émetteurs, cibles de déploiement et scanners. Les endpoints de protocole public (ACME, EST, SCEP, CMP, OCSP et téléchargement de CRL) sont servis sur leurs propres chemins standards et appelés directement par les clients ACME/EST/SCEP/CMP, les répondeurs OCSP et les parties utilisatrices — ils s'authentifient avec leurs propres mécanismes de protocole, et non avec un jeton Cockpit.

FamilleChemin de baseAuthentificationObjet
API de gestion/api/pki/…Session utilisateur Cockpit (JWT), permissions Operations.Pki.*Créer et exploiter les CA, certificats, émetteurs, déploiement et découverte
Endpoints de protocole publicchemins racine tels que /ocsp/…, /scep/…, /cmp/…, .well-known/est/…, et l'annuaire ACMEChaque standard de protocole (clés de compte ACME, transport EST/SCEP/CMP, HTTP simple pour OCSP/CRL)Protocoles d'enrôlement et de statut de certificat que les clients parlent directement
Marqué (public)

Les lignes dont l'objet est marqué (public) sont accessibles sans session Cockpit — ce sont les surfaces de protocole standard. Toutes les autres lignes sont des routes de gestion et nécessitent la permission Operations.Pki.* correspondante.

Autorités de certification​

CA racines, intermédiaires et externes, avec un cycle de vie complet et audité — suspension, réactivation, révocation (simple ou en cascade), archivage — plus la chaîne, l'aperçu d'impact et la CRL. Les actions correspondent aux permissions Operations.Pki.CAs.*.

Méthode + CheminObjet
GET · POST /api/pki/casLister les CA · créer une CA racine
GET · PUT /api/pki/cas/{id}Obtenir · mettre à jour une CA
POST /api/pki/cas/{id}/intermediateCréer une CA intermédiaire
GET /api/pki/cas/{id}/chainObtenir la chaîne de certificats de la CA
GET /api/pki/cas/{id}/lifecycle/impactPrévisualiser le rayon d'impact du cycle de vie
POST /api/pki/cas/{id}/lifecycle/suspend · /reactivateSuspendre · réactiver
POST /api/pki/cas/{id}/revokeRévoquer (simple)
POST /api/pki/cas/{id}/lifecycle/revokeRévocation en cascade (CA + sous-CA + certificats émis)
POST /api/pki/cas/{id}/lifecycle/archive · /unarchiveArchiver · désarchiver
GET · POST /api/pki/cas/{id}/crlObtenir · générer la CRL de la CA
Aperçu avant toute cascade

Appelez d'abord la route lifecycle/impact — elle renvoie un rapport en lecture seule indiquant précisément quelles sous-CA et quels certificats une révocation en cascade affecterait.

Certificats & demandes​

Les certificats sont émis directement sous une CA, ou via le flux de demande (soumission, puis approbation / rejet). Les deux sont soumis aux permissions d'émission de certificat PKI.

Méthode + CheminObjet
POST /api/pki/cas/{id}/certificatesÉmettre un certificat sous une CA
/api/pki/requestsFlux de demande de certificat — soumission, puis approbation / rejet
Sous le capot

L'émission sous une CA correspond à POST /api/pki/cas/{id}/certificates ; le flux de demande utilise /api/pki/requests avec des actions d'approbation / rejet. Voir Créer un certificat.

Émetteurs​

Un émetteur est un service amont configuré (par exemple un compte ACME ou une CA externe) que la plateforme pilote pour obtenir des certificats. Les émetteurs peuvent être testés, activés/désactivés et utilisés pour exécuter le cycle de vie du certificat.

Méthode + CheminObjet
GET · POST /api/pki/issuersLister · créer un émetteur
GET · PUT · DELETE /api/pki/issuers/{id}Gérer un émetteur
POST /api/pki/issuers/{id}/testTester la connexion
PUT /api/pki/issuers/{id}/statusMettre à jour le statut
POST /api/pki/issuers/{id}/registerEnregistrer un compte ACME
POST /api/pki/issuers/{id}/issue · /renew · /revokeCycle de vie du certificat via l'émetteur

Protocoles d'enrôlement​

Chaque protocole dispose d'une surface d'administration sur l'API de gestion (configuration, profils, alias, statut) et d'une surface de protocole public sur des chemins standards que les clients parlent directement. Les lignes publiques sont marquées (public).

ACME (RFC 8555)​

Un serveur ACME complet par CA : directory, new-nonce, new-account, new-order, authorization, challenge, finalize, téléchargement de certificat et revoke-cert. Pointez n'importe quel client ACME (ou l'émetteur ACME de cert-manager) vers l'URL de l'annuaire ACME de la CA.

Méthode + CheminObjet
GET /api/pki/acme/{ca_id}/configConfiguration d'administration ACME
…/acme/{ca_id}/directoryAnnuaire ACME (public)
…/new-nonce · /new-acct · /new-orderFlux de compte et de commande (public)
…/authz/{id} · /challenge/{id} · /order/{id}/finalizeAutorisation, challenge, finalisation (public)
…/cert/{id} · /revoke-certTéléchargement et révocation (public)

EST (RFC 7030)​

Enrollment over Secure Transport : cacerts, simpleenroll, simplereenroll, serverkeygen et csrattrs, servis sous le chemin standard .well-known/est/.

Méthode + CheminObjet
GET /api/pki/est/{ca_id}/cacertsCertificats de CA
.well-known/est/{slug}/*simpleenroll / simplereenroll / serverkeygen / csrattrs (public)
GET · PUT /api/pki/est/{ca_id}/config · /enrollmentsAdministration EST

SCEP (RFC 8894)​

Simple Certificate Enrollment Protocol avec des profils configurables. L'endpoint public pkiclient.exe sert GET/POST pour les clients SCEP classiques.

Méthode + CheminObjet
GET · POST /api/pki/scep/profiles · /profiles/{id}Gérer les profils SCEP
…/{profile_id}/statusStatut d'enrôlement
GET · POST /scep/{slug}/pkiclient.exeProtocole SCEP (public)

CMP (RFC 4210 / 9483)​

Certificate Management Protocol avec des alias nommés, suivi des transactions et métriques par alias. Les clients envoient un POST à l'endpoint de message CMP.

Méthode + CheminObjet
GET · POST /api/pki/cmp/aliases · /aliases/{id}Gérer les alias CMP
…/aliases/{id}/transactions · /transactions/{id}Historique des transactions
POST /cmp/{alias}Protocole CMP (public)

Kubernetes cert-manager​

Enregistrer DuoKey comme émetteur externe pour cert-manager : cert-manager envoie des CSR à l'endpoint de signature et DuoKey renvoie des certificats signés, gardant les clés gérées par Kubernetes enrôlées auprès de votre CA.

Méthode + CheminObjet
POST · GET /api/pki/certmanager/issuersEnregistrer / lister les émetteurs externes
…/issuers/{id}/statusStatut de l'émetteur
/api/pki/certmanager/signSigner une CSR cert-manager
/api/pki/certmanager/healthzVérification de santé

Serveur KMIP 2.1​

DuoKey peut agir comme serveur KMIP, exposant des objets et opérations de clés / certificats aux clients KMIP.

Méthode + CheminObjet
GET · POST /api/pki/kmip-server/{endpoint_id}/objectsObjets KMIP
…/operations · /stats · /testOpérations, statistiques, test de connectivité

Cycle de vie unifié des endpoints​

Tous les endpoints de protocole (EST / SCEP / ACME / CMP / KMIP) partagent un cycle de vie d'endpoint commun — déployer, démarrer, mettre en pause, arrêter — avec santé et métriques, afin de pouvoir les exploiter de façon cohérente.

Méthode + CheminObjet
GET · POST /api/endpoints · /endpoints/{id}Gérer les endpoints de protocole
…/{id}/start · /pause · /stopContrôle du cycle de vie
…/{id}/health · /metricsSanté et métriques

Révocation (CRL & OCSP)​

Les certificats et les CA sont révoqués avec un motif standard RFC 5280. Une révocation affecte immédiatement les deux canaux de publication : la CRL de la CA et son répondeur OCSP.

CRL — Listes de révocation de certificats​

Chaque CA génère une CRL signée au format DER, publiée à l'URL de distribution de CRL portée par les certificats émis. Les CRL peuvent être générées à la demande ou forcées, et inspectées via les informations de CRL. Le téléchargement DER est public.

Méthode + CheminObjet
GET /api/pki/crlsLister les CRL
GET /api/pki/crl/{ca_id}/infoMétadonnées de CRL (numéro, mise à jour actuelle/suivante)
POST /api/pki/crl/{ca_id}/generateForcer la génération de la CRL
GET /api/pki/crl/{ca_id}Télécharger la CRL DER (public)
GET · POST /api/pki/cas/{id}/crlObtenir · générer une CRL de CA

OCSP — Protocole de statut de certificat en ligne​

Pour un statut en temps réel sans télécharger une liste complète, chaque CA peut faire fonctionner un répondeur OCSP. Les répondeurs ont leur propre cycle de vie (déployer, démarrer, mettre en pause, arrêter) plus santé et métriques, et utilisent un certificat de signataire OCSP dédié. Le protocole du répondeur et sa vérification de santé sont publics.

Méthode + CheminObjet
POST · GET /ocsp/{slug}Protocole du répondeur OCSP (public)
GET /ocsp/{slug}/healthSanté du répondeur (public)
GET · POST /api/ocsp/responders · /responders/{id}Gérer les répondeurs
…/responders/{id}/start · /pause · /stopCycle de vie du répondeur
…/responders/{id}/health · /metricsSanté et métriques

Déploiement​

Pousser les certificats émis vers des cibles en production — appliances F5 et Fortinet, cibles Windows orchestrées par agent (Microsoft IIS, Active Directory / LDAPS, Windows CAPI), cibles SSH (Nginx, Java Keystore), et autres cibles web/app génériques (Azure App Service, Entra ID, Apache HTTPD) — avec des tâches de déploiement, un rollback, des profils de connexion réutilisables et une synchronisation ServiceNow CMDB.

Méthode + CheminObjet
GET · POST · PATCH · DELETE /api/pki/deploy/f5/targetsGérer les cibles F5
POST /api/pki/deploy/f5/deploy · /f5/deploy-cert-onlyDéployer vers F5
GET · POST · PATCH · DELETE /api/pki/deploy/fortinet/targetsGérer les cibles Fortinet
POST /api/pki/deploy/fortinet/deploy · /fortinet/jobs/{id}/rollbackDéployer · rollback Fortinet
GET · POST · PATCH · DELETE /api/pki/deploy/windows/targets · /targets/{id}Gérer les cibles orchestrées par agent (windows_iis, active_directory_ldaps, capi)
POST /api/pki/deploy/windows/deployMettre en file une tâche de déploiement que l'agent lié récupère et exécute
POST /api/pki/deploy/windows/jobs/{id}/rollbackMettre en file une tâche de rollback
GET /api/pki/orchestrator/jobs · POST /jobs/{id}/reportRécupération de tâches par l'agent et rapport de résultat — auth par clé d'agent, pas une route de session Cockpit
GET · POST · PUT · DELETE /api/pki/deploy/targetsCibles génériques (Azure App Service, Entra ID, Apache HTTPD, Nginx, Java Keystore)
POST /api/pki/deploy/targets/{id}/deploy-entra · /deploy-app-service · /deploy-sshDéployer vers Entra ID · Azure App Service · une cible SSH (Nginx / Java Keystore)
POST /api/pki/deploy/targets/{id}/testVérifier la connectivité/les identifiants d'une cible avant de déployer
GET /api/pki/deploy/jobs · /jobs/{id}Lister / obtenir les tâches de déploiement
POST /api/pki/deploy/jobs/{id}/rollbackEffectuer un rollback d'une tâche de déploiement
GET · POST · PUT · DELETE /api/pki/connections · /connections/{id}Profils de connexion d'identifiants réutilisables
/api/pki/connectors/servicenow/*Synchronisation d'inventaire / d'expiration CMDB ServiceNow

Découverte & conformité​

Trouver des certificats sur le réseau avec des scanners et des agents installés, importer les certificats découverts dans l'inventaire, et exécuter des audits SSL/TLS par certificat et une évaluation de conformité par rapport à des référentiels ou aux politiques propres à votre tenant.

Méthode + CheminObjet
GET · POST /api/pki/scanners · /scanners/{id}Gérer les scanners (scan / activation / désactivation / tâches)
GET /api/pki/scanners/certificates · /certificates/{id}Parcourir les certificats découverts
POST /api/pki/scanners/certificates/{id}/importImporter un certificat découvert
GET · POST /api/pki/scanners/agents · /agents/registerParc d'agents de scan
…/agents/{id}/rotate-key · /revokeRotation / révocation de clé d'agent
GET · POST /api/pki/scanner/targets · /results · /summaryCibles de scan, résultats et résumé
GET · POST /api/pki/scanner/certs/{id}/ssl-auditExécuter / consulter un audit SSL de certificat
…/ssl-audit/history · /run · /complianceHistorique d'audit, déclenchement, résultat de conformité
GET · POST /api/pki/scanner/ssl-compliance/frameworksRéférentiels de conformité
/api/pki/scanner/compliance/*Politiques de conformité du tenant et évaluation