Aller au contenu principal

RFC 8555 - Environnement de gestion automatique des certificats (ACME)

Internet Engineering Task Force (IETF) Request for Comments: 8555 Catégorie: Standards Track ISSN: 2070-1721

Auteurs: R. Barnes (Cisco) J. Hoffman-Andrews (EFF) D. McCarney (Let's Encrypt) J. Kasten (University of Michigan)

Publié: Mars 2019


Résumé

Les certificats de l'infrastructure à clés publiques utilisant X.509 (PKIX) sont utilisés à plusieurs fins, dont la plus importante est l'authentification des noms de domaine. Ainsi, les autorités de certification (CA) dans le PKI Web sont chargées de vérifier qu'un demandeur de certificat représente légitimement le(s) nom(s) de domaine figurant dans le certificat. Au moment de la rédaction, cette vérification est effectuée par une collection de mécanismes ad hoc. Ce document décrit un protocole qu'une CA et un demandeur peuvent utiliser pour automatiser le processus de vérification et d'émission de certificats. Le protocole fournit également des fonctionnalités pour d'autres fonctions de gestion des certificats, telles que la révocation de certificats.


Statut de ce mémo

Il s'agit d'un document de l'Internet Standards Track.

Ce document est un produit de l'Internet Engineering Task Force (IETF). Il représente le consensus de la communauté IETF. Il a fait l'objet d'un examen public et a été approuvé pour publication par l'Internet Engineering Steering Group (IESG).


Caractéristiques principales

Avantages du protocole ACME:

  • Entièrement automatisé: Aucune intervention manuelle de la demande au renouvellement
  • 🔄 Mises à jour fréquentes: Prend en charge les certificats de courte durée (Let's Encrypt par défaut: 90 jours)
  • 💰 Réduction des coûts: Élimine les coûts des processus manuels
  • 🔒 Sécurité renforcée: Les certificats de courte durée réduisent le risque d'exposition

Flux de travail ACME typique:

Client (Client ACME)                    Serveur ACME (CA)
| |
| 1. Créer un compte |
|--------------------------------------->|
| <-- URL du compte |
| |
| 2. Soumettre une commande |
|--------------------------------------->|
| <-- Objet commande + Défis |
| |
| 3. Compléter la validation |
| (HTTP-01 ou DNS-01) |
|--------------------------------------->|
| <-- Validation réussie |
| |
| 4. Finaliser (Soumettre CSR) |
|--------------------------------------->|
| <-- URL du certificat |
| |
| 5. Télécharger le certificat |
|--------------------------------------->|
| <-- Chaîne de certificats PEM |

Composants principaux

Types de ressources

  1. Directory: Répertoire des points de terminaison de l'API du serveur
  2. Account: Informations du compte client
  3. Order: Commande de certificat
  4. Authorization: Autorisation de domaine
  5. Challenge: Défi de validation
  6. Certificate: Certificat émis

Méthodes de validation

  • Défi HTTP-01: Provisionner un fichier à un chemin HTTP spécifique
  • Défi DNS-01: Provisionner un enregistrement DNS TXT spécifique

Clients ACME populaires

  • Certbot (EFF Officiel)
  • acme.sh (Script Shell)
  • Lego (Langage Go)
  • win-acme (Windows)

RFC connexes

  • RFC 7515 - JSON Web Signature
  • RFC 5280 - Certificats X.509
  • RFC 6797 - HSTS
  • RFC 7807 - Problem Details pour les API HTTP

Références


Pour les spécifications techniques détaillées, veuillez consulter le document RFC 8555 officiel.