Ressource pédagogique

Les clients ACME sous Linux

12 février 2024
4 min de lecture
Contenu expert

Publié le

12 février 2024

Introduction

Le protocole ACME est un protocole réseau conçu pour automatiser la validation de domaine et la délivrance de certificats X.509. Le processus se déroule entre un serveur ACME et un client ACME.

Deux clients populaires sous Linux sont Certbot et acme.sh.

Certbot est un client ACME open source créé par l'Electronic Frontier Foundation (EFF), initialement conçu pour être utilisé conjointement avec leur propre service d'autorité de certification : Let's Encrypt.

Le second client, acme.sh, est un client écrit en langage Shell (Unix shell) sous licence GPLv3.

Vue d'ensemble

Certbot et acme.sh sont des clients ACME simples, en ligne de commande (CLI), pour Linux.

Certbot peut fonctionner sur tout système d'exploitation de type UNIX récent équipé de Python 2.7 ou 3.4+, tandis qu'acme.sh peut également s'exécuter sur n'importe quelle distribution Linux récente disposant de bash, dash ou sh.

Tous deux prennent pleinement en charge la dernière version du protocole ACMEv2, y compris sa principale nouvelle fonctionnalité : les certificats wildcard (\*.example.com).

Les deux clients prennent en charge différents modes pour obtenir un certificat et, dans certains cas, l'installer automatiquement.

Le tableau suivant liste les différents modes pour chaque client :

Mode

Certbot

Acme.sh

Notes

apache

✔️

✔️

Obtient et installe automatiquement un certificat en utilisant le serveur Apache en cours d'exécution. (Pour acme.sh, ce mode obtiendra uniquement un certificat sans l'installer)

nginx

✔️

✔️

Obtient et installe automatiquement un certificat en utilisant le serveur NGINX en cours d'exécution. (Pour acme.sh, ce mode obtiendra uniquement un certificat sans l'installer)

webroot

✔️

✔️

Obtient un certificat en écrivant dans le répertoire webroot d'un serveur web déjà en cours d'exécution.

standalone

✔️

✔️

Utilise un serveur web « standalone » géré par Certbot ou acme.sh. Ce mode est utile sur des systèmes sans serveur web ou lorsque l'on ne souhaite pas utiliser le serveur web en cours d'exécution.

DNS

✔️

✔️

Ce mode automatise l'obtention d'un certificat en modifiant un enregistrement DNS pour prouver le contrôle d'un domaine.

tls-alpn

✔️

Utilise un serveur TLS pour valider le contrôle d'un domaine.

Requête de certificat

Les deux clients doivent être exécutés avec des privilèges administratifs (sudo), sauf pour acme.sh lors de l'utilisation des modes webroot ou DNS.

Chaque client requiert seulement quelques paramètres pour demander par défaut un certificat à Let's Encrypt.

Par exemple, pour Certbot :

Paramètre

Description

certonly

Obtenir ou renouveler un certificat, mais ne pas l'installer

webroot

Place les fichiers dans le dossier webroot d'un serveur pour l'authentification

-w [VALUE]

Chemin du dossier webroot du serveur

-d [VALUE]

Le ou les domaines à enrôler.

La commande serait : certbot certonly --webroot -w /var/www/example -d www.example.com

Envie de mettre en pratique ces bonnes pratiques PKI ?

Bénéficiez des conseils de nos experts pour déployer des solutions PKI sécurisées au sein de votre organisation.

Demander de l'aide

De son côté, les paramètres pour acme.sh sont :

Paramètre

Description

--issue

Obtenir ou renouveler un certificat, mais ne pas l'installer

-d [VALUE]

Le ou les domaines à enrôler.

-w [VALUE]

Chemin du dossier webroot du serveur

La commande serait : acme.sh --issue -d example.com -w /var/www/example

Il existe bien d'autres options sur les deux clients pour adapter les requêtes à des besoins spécifiques.

Pour plus d'informations, consultez les pages web officielles de Certbot et acme.sh : * [Certbot](https://certbot.eff.org/docs/using.html) * [acme.sh](https://github.com/Neilpang/acme.sh)

Cas d'usage

Par défaut, Certbot et acme.sh demanderont un certificat auprès de la CA Let's Encrypt, mais il existe plusieurs cas d'usage où l'on préférera demander un certificat auprès d'une autre CA.

Les exemples suivants décrivent comment utiliser certains des différents modes de Certbot et d'acme.sh pour demander ou révoquer un certificat auprès d'une autre CA.

Mode Apache

L'utilisation du mode Apache depuis Certbot et acme.sh consiste à demander un certificat, à valider le contrôle du domaine demandé en s'appuyant sur le serveur Apache en cours d'exécution, puis à installer le certificat sur le serveur (uniquement pour Certbot).

L'exemple suivant détaille la requête utilisée, ses paramètres et les résultats de la requête en utilisant le mode Apache avec Certbot.

Mode NGINX

L'utilisation du mode NGINX depuis Certbot et acme.sh consiste à demander un certificat, à valider le contrôle du domaine demandé en s'appuyant sur le serveur NGINX en cours d'exécution, puis à installer le certificat sur le serveur (uniquement pour Certbot).

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes en utilisant le mode NGINX.

Mode standalone

L'utilisation du mode standalone depuis Certbot et acme.sh consiste à demander un certificat et à valider le contrôle du domaine demandé en s'appuyant sur un serveur web autonome exécuté par Certbot ou acme.sh.

Dans ce cas d'usage, le certificat est uniquement obtenu et n'est pas installé sur le serveur web en cours d'exécution. La configuration du serveur web doit être modifiée par la suite pour que le certificat soit utilisé.

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes en utilisant le mode standalone.

Révocation

Les deux clients sont également capables de révoquer les certificats qu'ils gèrent en envoyant une requête de révocation avec le nom de domaine correct du certificat à révoquer.

Les exemples suivants détaillent les requêtes utilisées, les paramètres et les résultats des requêtes pour révoquer un certificat avec Certbot.

Cela vous a-t-il été utile ?
Retour au centre d'apprentissage

Sommaire

Continuez à apprendre

Recevez nos derniers contenus pédagogiques et analyses PKI directement dans votre boîte mail.

En vous inscrivant, vous acceptez de recevoir nos communications. Vous pouvez vous désabonner à tout moment.

Contenus similaires

Evertrust PQC

Are European enterprises ready for Post-Quantum Cryptography (PQC) migration? The gaps and the path forward

September 10, 2025
1 min

Explore why PQC adoption lags in Europe, the real blockers, and how to achieve quantum-safe security.

Read more
Evertrust PQC

NIST Releases New Post-Quantum Cryptography Standards

September 10, 2025
1 min

Discover NIST’s new Post-Quantum Cryptography standards (FIPS 203, 204, 205) and how Evertrust is preparing to integrate them for enhanced cybersecurity.

Read more
Evertrust ACME

ACME Clients on Linux

February 12, 2024
1 min

The ACME protocol is a network protocol designed to automate the process of domain validation, deliverance and renewal of X.509 certificates. The process is set up between an ACME server and an ACME client.

Read more
Démarrer

Prêt à reprendre le contrôle de vos certificats ?

Échangez avec nos experts et découvrez comment Evertrust peut vous aider à mettre en place les meilleures pratiques en matière de PKI et de gestion du cycle de vie des certificats.