Comparaison des clients ACME et aide au choix d'un client pour EAB ACME
Qu'est-ce que le protocole ACME et le client ACME
ACME (Automated Certificate Management Environment) est un protocole qui permet l'émission, le renouvellement et la gestion entièrement automatisés des certificats SSL/TLS. En pratique, il élimine la nécessité de générer manuellement des demandes (CSR), de vérifier le domaine et d'installer des certificats, simplifiant considérablement tout le processus et réduisant le risque d'erreurs. ACME communique directement avec l'autorité de certification et utilise des défis standardisés (par exemple, HTTP-01 ou DNS-01) pour vérifier que le demandeur possède réellement le domaine en question. Ainsi, les certificats peuvent être obtenus en quelques secondes et également renouvelés automatiquement avant leur expiration.
Le client ACME est un outil ou logiciel qui implémente ce protocole côté utilisateur. Son rôle est de communiquer avec le serveur ACME (par exemple, l'autorité de certification), de générer des clés, de résoudre les défis de validation et d'installer les certificats émis sur le serveur ou l'infrastructure. Les clients ACME connus incluent par exemple Certbot, acme.sh ou des outils intégrés dans les plateformes d'hébergement modernes. Un client ACME correctement configuré permet un fonctionnement entièrement sans intervention – les certificats sont émis et renouvelés automatiquement, ce qui est une solution idéale pour les environnements évolutifs et la gestion sécurisée des services web.
Aperçu des fonctionnalités des clients ACME
Tous les clients ACME figurant dans le tableau peuvent automatiquement vérifier et émettre un certificat via ACME, y compris l'intégration avec DigiCert EAB. C'est la condition de base pour utiliser un client ACME, et s'il ne pouvait pas le faire, il ne serait pas utile de le mentionner dans l'aperçu.
| Client | Informations de base et | Automatisation des certificats | Paramètres techniques | Résumé | |||||
|---|---|---|---|---|---|---|---|---|---|
| Système d'exploitation | Support EAB ACME | Mode d'installation | Installation sur le serveur | Planification du renouvellement | Support de l'API DNS | Langage | Testé | Adapté pour | |
| Certbot | Linux, macOS | ✅ Oui | Paquet système (apt / snap) | ✅ Complet (Apache, Nginx) | ✅ Automatique (minuteur systemd) | 50+ (plugins) ⚡ | Python | OUI | Recommandé, serveurs web Linux (Apache / Nginx) |
| win-acme | Windows Server | ✅ Oui | Assistant d'installation (.exe) | ✅ Complet (IIS) | ✅ Automatique (Planificateur de tâches) | 30+ ⚡ | C# (.NET) | OUI | Windows Server / IIS |
| Certify The Web | Windows | ✅ Oui | Installateur (.msi) | ✅ Complet (IIS, Exchange, SQL, API) | ✅ Automatique (service propre) | 100+ (y compris scripts locaux) | C# (.NET) | OUI | Débutants sur Windows, avec GUI et post-traitement |
| SimpleACME (WACS) | Windows Server | ✅ OUI | Zip / Binaire .exe | ✅ Complet (IIS, RDS, Exchange) | ✅ Automatique (Planificateur de tâches) | 40+ (y compris plugins Posh-ACME) ⚡ | C# (.NET) | OUI | Successeur de wim-acme pour Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Oui | Helm chart / Manifestes | ✅ Complet (Ingress / API Gateway) | ✅ Automatique (Boucle du contrôleur) | 60+ (nativement + plugins) | Go | NON | Kubernetes et environnements Cloud-native |
| acme.sh | Linux, macOS, Unix | ✅ Oui | Script d'installation (curl) | ⚙️ Partiel (déployer hook) | ✅ Automatique (cron) | 150+ (nativement) ⚡ | Shell (Bash) | OUI | Recommandé, idéal pour l'automatisation DNS et DevOps |
| Lego | Linux, macOS, Windows | ✅ Oui | Téléchargement du fichier binaire | ⚙️ Partiel (déployer hook) | ⚙️ Nécessite un planificateur externe | 180+ (nativement) ⚡ | Go | OUI | Cloud, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Oui | Gallerie PowerShell | ⚙️ Partiel (scripts) | ✅ Automatique (Planificateur de tâches) | 100+ | PowerShell | Automatisation et scripting Windows | |
| dc-acme | Linux, Windows | ✅ Oui | Script d'installation (curl / PS) | ⚙️ Partiel (Système de fichiers / Gestionnaires personnalisés) | ✅ Automatique (service système) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Environnements d'entreprise (DigiCert MPKI / ONE) | |
✅ Entièrement automatique – tout se passe sans intervention de l'utilisateur.
⚙️ Partiellement automatique – nécessite une configuration manuelle ou un script.
⚡ Vous pouvez utiliser le plugin DNS pour CZECHIA.COM/RegZone ; soit dans le projet soit séparément sur Github.
Comment choisir le bon client ACME
Choisir un client ACME dépend de vos objectifs. Vous pouvez uniquement vouloir émettre un certificat et le manipuler manuellement ou au moyen de scripts, ou vous souhaitez installer une automatisation complète du cycle de vie des certificats sur le serveur web et ne plus vous en soucier. Ce sont des critères importants pour le choix.
L'automatisation du cycle de vie des certificats comprend plusieurs étapes que le client ACME doit être en mesure de gérer :
- Communication avec l'AC - pour les certificats OV et EV, la prise en charge d'EAB ACME du côté client est nécessaire. Tous les clients ne prennent pas en charge l'EAB ; par exemple, l'implémentation native ACME dans nginx ne gère pas EAB.
- Vérification automatique de domaine - pour chaque émission de certificat, une vérification de domaine (DCV) doit être effectuée, ou le domaine doit être pré-vérifié. Sans vérification de domaine automatique, il ne sera pas possible de délivrer des certificats à l'avenir.
- HTTP-01: Un fichier de vérification est exposé sur le serveur et l'AC le vérifie, en utilisant le port 80.
- DNS-01: Un enregistrement de vérification est paramétré dans la zone DNS du domaine. Pour modifier l'enregistrement DNS, il est nécessaire d'avoir un plugin pour l'API du fournisseur DNS (Cloudflare, CZECHIA.COM).
- Émission de certificats - les certificats DV sont émis immédiatement, pour les OV et EV, l'organisation doit être vérifiée, ce qui est fait par pré-validation. Le client ACME stocke le certificat émis localement sur le disque, où il a déjà la clé privée. Le certificat peut ensuite être traité via des scripts (deploy-hook).
- Installation/Configuration du certificat sur le serveur - configuration (installation) du certificat au bon service sur le serveur web. Cela nécessite une manipulation et une modification des fichiers de configuration + redémarrage du service. L'installation est généralement possible uniquement sur les serveurs web Apache, nginx, et IIS.
Chaque client ACME ne répond pas à toutes les exigences. C'est pourquoi nous avons créé un tableau récapitulatif pour faciliter le choix.
Que faire si le client ACME ne prend pas en charge mon serveur
Pour les clients ACME, il est typique de pouvoir installer le certificat délivré sur les serveurs web les plus répandus - Apache, nginx, et IIS. Souvent, leurs capacités s'arrêtent là. Si vous devez automatiser les certificats sur un serveur qui n'est pas supporté par les clients ACME, il est nécessaire de diviser l'automatisation en phase d'émission et en phase de déploiement du certificat.
Vous pouvez toujours automatiser l'émission avec acme.sh et DNS ; ainsi, vous pouvez délivrer le certificat sur n'importe quelle machine sans avoir besoin de lancer ACME directement sur le serveur, comme le souhaite HTTP-01. Vous devez ensuite transférer le certificat émis sur le serveur cible et l'y installer, ce qui nécessite de le scripter individuellement selon le type de serveur web spécifique.
Consultez notre support
Si cet article ne répond pas à toutes vos questions, n'hésitez pas à contacter notre support client. Des experts en sécurité sont à votre disposition chaque jour.