Tous les articles SSL SSL et certificats

Qu'est-ce que le protocole ACME ?

ACME (Automated Certificate Management Environment) est le protocole qui rend possibles les certificats SSL gratuits et automatises. C’est la maniere dont Let’s Encrypt — et votre client ACME (GetHTTPS, Certbot, acme.sh) — communique reellement avec l’Autorite de Certification.

Defini dans le RFC 8555, ACME a remplace l’ancien processus manuel (envoyer des CSR par e-mail a une CA, attendre une verification humaine) par un protocole entierement automatise et cryptographiquement securise.

Comment ACME fonctionne — les 5 etapes

┌──────────┐                              ┌──────────────┐
│  Client   │  ① Account Registration     │  CA Server   │
│ (GetHTTPS)│ ──────────────────────────→  │ (Let's Encrypt)
│           │  ② New Order (domains)       │              │
│           │ ──────────────────────────→  │              │
│           │  ③ Complete Challenges       │              │
│           │ ←─────────────────────────── │              │
│           │ ──────────────────────────→  │              │
│           │  ④ Finalize (send CSR)       │              │
│           │ ──────────────────────────→  │              │
│           │  ⑤ Download Certificate      │              │
│           │ ←─────────────────────────── │              │
└──────────┘                              └──────────────┘

Etape 1 : Enregistrement du compte

Le client genere une paire de cles de compte ACME et enregistre la cle publique aupres de la CA. Cette cle vous identifie dans les requetes futures — chaque message ACME est signe avec elle.

Pas d’e-mail, pas de mot de passe, aucune information personnelle requise.

Etape 2 : Nouvelle commande

Le client soumet une liste de noms de domaine pour lesquels il souhaite un certificat. La CA cree une « commande » et renvoie un ensemble d’« autorisations » — une par domaine — chacune avec des challenges a completer.

Etape 3 : Completer les challenges

Pour chaque domaine, le client doit prouver qu’il en a le controle. La CA propose des types de challenges :

ChallengeFonctionnementCas d’utilisation
HTTP-01Placer un fichier dans /.well-known/acme-challenge/Le plus courant, le plus simple
DNS-01Ajouter un enregistrement TXT a _acme-challenge.domainWildcards, pas de port 80
TLS-ALPN-01Repondre sur le port 443 avec un certificat TLS specialQuand le port 80 est bloque, pas d’acces DNS

Le client complete la challenge, puis demande a la CA de verifier. La CA verifie depuis ses serveurs — si la challenge est reussie, l’autorisation est marquee comme valide.

Etape 4 : Finalisation (envoi du CSR)

Une fois tous les domaines autorises, le client envoie un CSR (Certificate Signing Request) contenant la cle publique pour le certificat. La CA le signe et cree le certificat.

Etape 5 : Telecharger le certificat

Le client telecharge la chaine de certificats signee — votre certificat + le certificat CA intermediaire. Termine.

Modele de securite ACME

Chaque requete ACME est signee avec JWS (JSON Web Signature) en utilisant la cle du compte. Cela previent :

  • Les attaques par rejeu — chaque requete a un nonce unique
  • La falsification — la signature couvre l’integralite du corps de la requete
  • L’usurpation d’identite — seul le detenteur de la cle du compte peut effectuer des requetes

La cle du compte ne quitte jamais le client. Avec GetHTTPS, elle est generee dans votre navigateur via la Web Crypto API.

Comment GetHTTPS utilise ACME

GetHTTPS implemente le protocole ACME complet en JavaScript s’executant dans votre navigateur :

  1. Cle de compte generee avec crypto.subtle.generateKey() (Web Crypto API)
  2. Cle de certificat generee de la meme maniere
  3. Messages ACME signes avec crypto.subtle.sign()
  4. CSR construit avec la bibliotheque pkijs
  5. Communication HTTPS directe avec acme-v02.api.letsencrypt.org

Pas de proxy cote serveur, pas de middleware. Votre navigateur communique directement avec l’API ACME de Let’s Encrypt. C’est unique — la plupart des clients ACME s’executent sur un serveur.

Comparaison des clients ACME

ClientS’execute dansACME v2Renouvellement autoLangage
GetHTTPSNavigateur❌ ManuelJavaScript
CertbotCLI serveurPython
acme.shCLI serveurShell
CaddyServeur webGo
TraefikReverse proxyGo
LegoBibliotheque CLIGo

Comparaison complete →

CAs qui prennent en charge ACME

ACME a ete cree par Let’s Encrypt mais est desormais un standard ouvert utilise par plusieurs CAs :

CAURL du repertoire ACMEGratuit ?
Let’s Encryptacme-v02.api.letsencrypt.org/directory
ZeroSSLacme.zerossl.com/v2/DV90Gratuit limite
Buypassapi.buypass.com/acme/directory
Google Trust ServicesVia Google Cloud ACME
DigiCertEndpoint ACME EnterprisePayant
SectigoEndpoint ACME EnterprisePayant

Questions frequemment posees

ACME est-il la meme chose que Let’s Encrypt ?

Non. ACME est le protocole (RFC 8555). Let’s Encrypt est une Autorite de Certification qui utilise ACME. D’autres CAs (ZeroSSL, Buypass, Google) prennent egalement en charge ACME. Pensez-y comme HTTP vs Google — HTTP est le protocole, Google est un service qui l’utilise.

Puis-je implementer mon propre client ACME ?

Oui. Le protocole est entierement specifie dans le RFC 8555. GetHTTPS est un exemple d’implementation basee sur le navigateur. Des bibliotheques existent pour la plupart des langages (certbot pour Python, lego pour Go, acme.js pour JavaScript).

Qu’est-ce qu’ACME v2 ?

ACME v2 est la version actuelle (RFC 8555), qui a ajoute la prise en charge des certificats wildcard et remplace le protocole provisoire v1. Tous les clients ACME modernes utilisent v2. Let’s Encrypt a ferme l’endpoint v1 en 2021.

Que se passe-t-il si le serveur ACME est en panne ?

Les certificats existants continuent de fonctionner (ils ne contactent pas le serveur). Vous ne pouvez simplement pas emettre ou renouveler de certificats tant que le serveur n’est pas retabli. Let’s Encrypt a une haute disponibilite et une infrastructure redondante.

Articles connexes

SSL et certificats 2026-05-07
Qu'est-ce que Let's Encrypt ?
Let's Encrypt est une Autorite de Certification gratuite et a but non lucratif qui a emis plus d'1 milliard de certificats SSL. Decouvrez comment elle fonctionne, ses limites de taux et comment l'utiliser avec GetHTTPS.
Premiers pas 2026-05-08
Challenge HTTP-01 : fonctionnement et mise en place
HTTP-01 est le moyen le plus simple de prouver la propriété d'un domaine pour un certificat SSL. Placez un fichier sur votre serveur, Let's Encrypt le vérifie, et votre certificat est émis.
Premiers pas 2026-05-08
Challenge DNS-01 : fonctionnement et mise en place
La validation DNS-01 prouve la propriété du domaine en ajoutant un enregistrement TXT dans votre DNS. Requise pour les certificats wildcard. Configuration pour Cloudflare, Route 53, GoDaddy, Namecheap et plus.
SSL et certificats 2026-05-07
Comment fonctionne SSL/TLS : Le handshake TLS expliqué
Un guide visuel du handshake TLS — comment votre navigateur et un serveur établissent une connexion chiffrée en quelques millisecondes. Couvre TLS 1.2, TLS 1.3, la reprise de session et le Forward Secrecy.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat