SSL /TLS Délivrance et révocation des certificats avec ACME

Logo ACMELes clients SSL.com peuvent désormais utiliser le protocole ACME populaire pour demander et révoquer SSL /TLS certificats.

ACME (Automated Certificate Management Environment) est un protocole standard pour la validation de domaine automatisée et l'installation de certificats X.509, documenté dans IETF RFC8555. En tant que norme bien documentée avec de nombreux logiciels open source implémentations client, ACME offre un moyen simple de fournir des sites Web ou Appareils IoT tels que les modems et les routeurs avec des certificats numériques de confiance publique ou privée et maintenez ces certificats à jour au fil du temps.

ACME n'est pas seulement pour les sites Web! Avec une autorité de certification émettrice compatible ACME de SSL.com, les fournisseurs IoT peuvent facilement gérer et automatiser la validation, l'installation, le renouvellement et la révocation de SSLTLS certificats sur les appareils compatibles ACME.

En savoir plus sur ACME pour l'IoT

Ce guide vous montrera comment:

  • Recherchez et récupérez les informations d'identification dont vous aurez besoin pour demander des certificats avec ACME.
  • Utilisez Certbot pour demander manuellement SSL /TLS certificats via le HTTP-01 et DNS-01 méthodes de défi.
  • Révoquez les certificats avec Certbot.
Remarque:
Vous pouvez utiliser de nombreux autres clients ACME, notamment Gestionnaire de certificats Kubernetes, avec le service ACME de SSL.com.
acme4j  le client peut désormais utiliser les services SSL.com ACME sur ce référentiel : https://github.com/SSLcom/acme4j
Veuillez vous référer à la documentation de votre fournisseur de logiciel pour obtenir des instructions concernant les autres clients ACME non Certbot.

Installez Certbot

Ce guide suppose que vous travaillez sur un ordinateur Certbot installée. Certbot est un outil gratuit et open-source, développé par l'Electronic Frontier Foundation (EFF), que vous pouvez utiliser pour demander ou révoquer SSL /TLS certificats de SSL.com via le protocole ACME. Certbot peut être exécuté sur une variété de plates-formes, notamment Linux, macOS et Windows.

  • Si vous avez snapd installé, vous pouvez utiliser cette commande pour l'installation:
    sudo snap install --classic certbot
  • If /snap/bin/ n'est pas dans votre PATH, vous devrez également l'ajouter ou exécuter une commande comme celle-ci:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Si vous avez besoin de plus d'informations sur l'installation de Certbot sur votre système, reportez-vous aux Documentation.

Récupérer les informations d'identification ACME

Avant d'utiliser ACME pour demander un certificat, vous devrez récupérer votre Clé de compte et Clé HMAC depuis votre compte SSL.com.

SSL.com Revendeur et achats en volume les partenaires peuvent générer des informations d'identification ACME pour leurs clients. Lis ce mode d'emploi pour des instructions complètes.
  1. Connectez-vous à votre compte SSL.com. Si vous êtes déjà connecté, accédez au Tableau de bord languette.
    Tableau de bord
  2. Cliquez identifiants api, situé sous développeurs et intégration.
    Lien des informations d'identification de l'API
  3. Vous aurez besoin de votre Compte / Clé ACME et Clé HMAC pour demander des certificats. Cliquez sur l'icône du presse-papiers () à côté de chaque clé pour copier la valeur dans le presse-papiers.
    Compte / Clé ACME et Clé HMAC
  4. Vous pouvez également copier une commande Certbot pré-remplie avec votre adresse e-mail, votre clé Compte / ACME et votre clé HMAC en cliquant sur l'icône du presse-papiers () à côté de commande cli, Ci-après Robot de certification ACME. Cette commande pré-formatée commandera un certificat via la méthode de défi HTTP-01.Copier la commande certbot

Demander manuellement un SSL /TLS Certificat

Maintenant que vous avez récupéré vos identifiants, vous pouvez demander un certificat via le certbot commander. Certbot prend en charge deux méthodes de validation de domaine (DV): HTTP-01 et DNS-01.

Méthode de défi HTTP-01

HTTP-01 est la méthode de défi la plus couramment utilisée avec ACME et Certbot. Lorsque vous demandez un certificat de cette manière, Certbot génère un jeton que vous pouvez utiliser pour créer un fichier accessible au public sur votre site Web. Le serveur ACME de SSL.com vérifiera ensuite le fichier via HTTP et émettra un certificat signé s'il est correct.

Exigences : La méthode HTTP-01 nécessite que vous ayez accès à votre serveur Web et que le site soit disponible via le port 80 via HTTP. Vous aurez également besoin sudo privilèges sur l'ordinateur.

Pour récupérer manuellement un certificat, utilisez la commande suivante. Remplacez les valeurs en MAJUSCULES par vos valeurs réelles. (Comme indiqué ci-dessus, vous pouvez également copier et coller une commande certbot qui effectue cette opération à partir de votre compte de portail):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- accept-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME

Décomposer la commande:

  • sudo certbot exécute le certbot commande avec les privilèges de superutilisateur.
  • certonly demande de récupérer un certificat, mais pas de l'installer.
  • --manual spécifie d'exécuter Certbot de manière interactive.
  • --server https://acme.ssl.com/sslcom-dv-ecc spécifie le serveur ACME de SSL.com.
  • --config-dir /etc/ssl-com (facultatif) définit le répertoire de configuration.
  • --logs-dir /var/log/ssl-com (facultatif) définit le répertoire des journaux.
  • --agree-tos (facultatif) accepte le contrat d'abonnement ACME. Vous pouvez l'omettre si vous souhaitez accepter de manière interactive.
  • --no-eff-email (facultatif) indique que vous ne souhaitez pas partager votre adresse e-mail avec l'EFF. Si vous l'omettez, vous serez invité à partager votre adresse e-mail.
  • --email EMAIL-ADDRESS fournit une adresse e-mail d'inscription. Vous pouvez spécifier plusieurs adresses, séparées par des virgules.
  • --eab-hmac-key HMAC-KEY spécifie votre clé HMAC.
  • --eab-kid ACCOUNT-KEY spécifie votre clé de compte.
  • -d DOMAIN.NAME spécifie le nom de domaine que le certificat couvrira. Notez que vous pouvez utiliser le -d DOMAIN.NAME option plusieurs fois dans votre commande pour ajouter des noms de domaine à votre certificat. Certbot vous demandera de créer un fichier de défi pour chaque nom de domaine demandé. Veuillez consulter la section sur types de certificats et facturation ci-dessous pour voir comment différentes combinaisons de noms de domaine correspondent à Types de certificats SSL.com et leur prix correspondant.
Remarque: Certbot 2.0.0 ou plus récent génère par défaut ECDSA pour les nouveaux certificats. La commande ci-dessus générera une paire de clés et un certificat ECDSA. Pour utiliser les clés RSA à la place :

  • Changez le --server valeur dans la commande de https://acme.ssl.com/sslcom-dv-rsa
  • Ajouter --key-type rsa à la commande.
Lorsque vous exécutez pour la première fois ce qui précède certbot commande, les informations du compte ACME seront stockées sur votre ordinateur dans le répertoire de configuration (/etc/ssl-com dans la commande ci-dessus. Sur les futures exécutions de certbot, vous pouvez omettre le --eab-hmac-key et --eab-kid options car certbot les ignorera au profit des informations de compte stockées localement.

Si vous devez associer vos commandes de certificats ACME pour l'ordinateur à un autre compte SSL.com, vous devez supprimer ces informations de compte de votre ordinateur avec la commande sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (ou, si vous avez omis l'option --config-dir option, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Lorsque vous exécutez la commande ci-dessus, vous devriez recevoir des instructions pour créer un fichier de validation:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Créez un fichier contenant uniquement ces données: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI Et rendez-le disponible sur votre serveur web à cette URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Appuyez sur Entrée pour continuer

Créez le fichier et enregistrez-le dans un emplacement sur votre serveur Web où il est accessible via HTTP via le port 80 à l'URL affichée, puis appuyez sur Enter.

Remarque: Le défi HTTP-01 peut nécessiter un nom de fichier commençant par un tiret (-) personnage. Dans ce cas, vous devrez peut-être spécifier le répertoire lors de la création de votre fichier pour empêcher le shell d'interpréter le tiret (par exemple vim ./-r1rsRTImVz_s7HHk7biTQ).

Si toutes vos informations sont correctes, vous devriez recevoir un message de confirmation indiquant les emplacements de votre chaîne de certificats et de votre clé privée:

REMARQUES IMPORTANTES: - Félicitations! Votre certificat et votre chaîne ont été enregistrés à: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Votre fichier de clé a été enregistré à: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Votre cert expirera le 2021-10-05. Pour obtenir une version nouvelle ou modifiée de ce certificat à l'avenir, exécutez simplement à nouveau certbot. Pour renouveler * tous * vos certificats de manière non interactive, exécutez «certbot renouveler»

Vous pouvez maintenant configurer votre serveur Web pour accéder au nouveau certificat et à la clé privée.

Méthode de défi DNS-01

La DNS-01 La méthode challenge est plus délicate à utiliser que HTTP-01, mais peut être plus pratique pour une utilisation sur plusieurs serveurs Web. Dans cette méthode, Certbot fournira un jeton que vous utiliserez pour créer un enregistrement DNS TXT sous le nom de domaine que le certificat protégera.

Exigences : La méthode DNS-01 nécessite que vous ayez la possibilité de créer des enregistrements DNS pour le nom de domaine de votre site Web.

La commande suivante demandera un certificat pour DOMAIN.NAME via la méthode de défi DNS-01:

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME

Remarque: Vous pouvez utiliser le -d DOMAIN.NAME option plusieurs fois dans votre commande pour ajouter des noms de domaine à votre certificat. Certbot vous demandera de créer un enregistrement DNS TXT distinct pour chaque nom de domaine demandé. Il n'est pas nécessaire d'attendre que chaque enregistrement TXT se propage avant d'appuyer sur Enter jusqu'à ce que vous atteigniez le défi final. Veuillez consulter la section sur types de certificats et facturation ci-dessous pour voir comment différentes combinaisons de noms de domaine correspondent à Types de certificats SSL.com et leur prix correspondant.
Lorsque vous exécutez pour la première fois ce qui précède certbot commande, les informations du compte ACME seront stockées sur votre ordinateur dans le répertoire de configuration (/etc/ssl-com dans la commande ci-dessus. Sur les futures exécutions de certbot, vous pouvez omettre le --eab-hmac-key et --eab-kid options car certbot les ignorera au profit des informations de compte stockées localement.

Si vous devez associer vos commandes de certificats ACME pour l'ordinateur à un autre compte SSL.com, vous devez supprimer ces informations de compte de votre ordinateur avec la commande sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (ou, si vous avez omis l'option --config-dir option, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Cette commande est la même que celle de la section HTTP-01, mais ajoute le --preferred-challenges dns option. Lorsque vous exécutez la commande, vous recevrez des instructions pour créer un enregistrement DNS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue

Créez l'enregistrement DNS TXT et attendez qu'il se propage. (whatsmydns.net est un outil pratique pour vérifier la propagation DNS). Notez que le caractère de soulignement (_) au début du nom de l'enregistrement est conditions. Lorsque le disque s'est propagé dans le monde entier, appuyez sur Enter.

Si vous demandez un certificat générique (par exemple *.example.com), vous devrez demander le nom de domaine de base séparément si vous souhaitez le protéger également (par exemple -d *.example.com -d example.com). Dans un tel cas, vous devrez créer deux Enregistrements TXT avec le même nom (_acme-challenge.example.com).

Si toutes vos informations sont correctes, vous devriez recevoir un message de confirmation indiquant les emplacements de votre chaîne de certificats et de votre clé privée:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

Vous pouvez maintenant configurer votre serveur Web pour accéder au nouveau certificat et à la clé privée.

Renouvellement de certificat (manuel)

Pour les certificats émis manuellement (comme décrit dans ce guide), le renouvellement du certificat est effectué en répétant simplement la commande utilisée pour demander le certificat. Certbot fournit un renew sous-commande, mais elle produira une erreur lors d'une tentative d'utilisation avec les certificats demandés avec le --manual option:

sudo certbot renew --force-renew Enregistrement du journal de débogage dans /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Traitement /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Impossible de choisir le plugin approprié: Le plugin manuel ne fonctionne pas; il peut y avoir des problèmes avec votre configuration existante. L'erreur était: PluginError ('Un script d'authentification doit être fourni avec --manual-auth-hook lors de l'utilisation du plugin manuel de manière non interactive.',) Tentative de renouvellement de cert (DOMAIN.NAME) depuis / etc / ssl-com / renouvellement / DOMAIN.NAME.conf a produit une erreur inattendue: le plugin manuel ne fonctionne pas; il peut y avoir des problèmes avec votre configuration existante. L'erreur était: PluginError ('Un script d'authentification doit être fourni avec --manual-auth-hook lors de l'utilisation du plugin manuel de manière non interactive.',). Saut. Toutes les tentatives de renouvellement ont échoué. Les certificats suivants n'ont pas pu être renouvelés: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (échec) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Toutes les tentatives de renouvellement ont échoué. Les certificats suivants n'ont pas pu être renouvelés: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (échec) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 échec de renouvellement, 0 échec (s) d'analyse

Révocation de certificat

Révoquer un certificat avec certbot revoke. Remplacez le chemin du certificat en MAJUSCULES par vos valeurs réelles (par exemple, /etc/ssl-com/live/example.com/cert.pem). Si vous n'avez pas spécifié de personnalisation --config-dir et --logs-dir lors de la demande du certificat d'origine, omettez ces options.

sudo certbot revoke --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

Vous serez invité à indiquer si vous souhaitez également supprimer le certificat révoqué:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Souhaitez-vous supprimer le ou les certificats vous venez de révoquer, avec toutes les versions antérieures et ultérieures du cert? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (O) es (recommandé) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Suppression de tous les fichiers relatifs au certificat NOM DE DOMAINE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Remarque : Certains utilisateurs peuvent obtenir cette erreur lorsqu'ils tentent de révoquer un certificat à l'aide de SSL.comPoint de terminaison ACME :Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Essayez ce qui suit pour résoudre l'erreur :
a) Spécifiez le chemin de la clé privée du certificat pour signer la demande de révocation.
Mise en situation : --key-path /PATH/TO/privkey.pem
b) Si vous avez utilisé un répertoire personnalisé, spécifiez le répertoire que vous avez utilisé lorsque vous avez émis le certificat : --config-dir

Types de certificats et facturation

Tous SSL /TLS les certificats émis via ACME par SSL.com sont des certificats d'un an. Le type de certificat SSL.com que vous recevrez (et pour lequel vous serez facturé) dépend du nombre et du type de noms de domaine demandés:

  • SSL de base: Un nom de domaine ou un nom de domaine plus www sous-domaine (par exemple example.com et www.example.com).
    • Notez que si vous souhaitez protéger à la fois le nom de domaine de base et www, vous devez inclure les deux dans votre commande Certbot (par exemple -d example.com -d www.example.com).
  • Wildcard SSL: Un nom de domaine générique, ou un nom de domaine générique plus le nom de domaine de base (par exemple *.example.com et example.com).
  • SSL Premium: Nom de domaine de base et un à trois sous-domaines non génériques. (Exception: comme indiqué ci-dessus, domaine de base plus www le sous-domaine [et aucun autre] sera facturé comme SSL de base.) Par exemple:
    • example.com et info.example.com
    • example.comwww.example.comet info.example.com
    • example.comwww.example.com, info.example.com et store.example.com
  • SSL UCC / SAN multi-domaines: Toute autre combinaison de noms de domaine. Par exemple:
    • Nom de domaine de base et plus de trois sous-domaines
    • Deux ou plusieurs noms de domaine génériques et / ou non liés à un sous-domaine

Partipants dans SSL.com Programme de revendeurs et d'achats en volume seront facturés au tarif réduit associé à leur niveau de tarification.

Pour plus d'informations

Il y a beaucoup plus que vous pouvez faire avec le protocole ACME (avec ou sans Certbot). Veuillez vous référer aux ressources suivantes pour plus d'informations:

Besoin d'aide avec votre compte SSL.com ?

Merci d'avoir choisi SSL.com! Si vous avez des questions, veuillez nous contacter par e-mail à Support@SSL.com, appel 1-877-SSL-SECURE, ou cliquez simplement sur le lien de discussion en bas à droite de cette page. Vous pouvez également trouver des réponses à de nombreuses questions d'assistance courantes dans notre knowledgebase.
Twitter
Facebook
LinkedIn
Reddit
Email

Restez informé et en sécurité

SSL.com est un leader mondial de la cybersécurité, PKI et les certificats numériques. Inscrivez-vous pour recevoir les dernières nouvelles de l'industrie, des conseils et des annonces de produits de SSL.com.

Nous aimerions recevoir vos commentaires

Répondez à notre enquête et faites-nous part de votre avis sur votre récent achat.