Les 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.
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.
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 n'avez pas encore suivi snapd installé, vous pouvez utiliser cette commande pour l'installation:
sudo snap install --classic certbot
- If
/snap/bin/
n'est pas dans votrePATH
, 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.
- Connectez-vous à votre compte SSL.com. Si vous êtes déjà connecté, accédez au Tableau de bord languette.
- Cliquez identifiants api, situé sous développeurs et intégration.
- 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.
- 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.
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 lecertbot
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.
- Changez le
--server
valeur dans la commande dehttps://acme.ssl.com/sslcom-dv-rsa
. - Ajouter
--key-type rsa
à la commande.
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
.
-
) 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
Votre 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
-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. 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
.
*.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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
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 exempleexample.com
etwww.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
).
- Notez que si vous souhaitez protéger à la fois le nom de domaine de base et
- 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
etexample.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
etinfo.example.com
example.com
,www.example.com
etinfo.example.com
example.com
,www.example.com
,info.example.com
etstore.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:
- Qu'est-ce que le protocole ACME?
- ACME SSL /TLS Automatisation avec Apache et Nginx
- SSL /TLS Automatisation de l'IoT avec ACME
- Documentation Certbot
- Page de manuel Certbot
Besoin d'aide avec votre compte SSL.com ?
- Votre compte SSL.com - Soumettre un CSR
- Échec du pré-test?!
- Votre compte SSL.com - Validations
- Votre compte SSL.com - Commandes
- API SWS de SSL.com - Introduction
- Votre compte SSL.com - Domaines
- HSM cloud pris en charge pour la signature de documents et la signature de code EV