Demande de certificat via ACME et DNS dans l'application SSLmarket
L'application SSLmarket vous simplifie la vie lors de l'utilisation ou du test de DNS. Ce guide est consacré à la demande manuelle de certificat, qui est vérifiée via DNS-01, et à la modification des enregistrements DNS via l'API. Vous découvrirez comment cela fonctionne et comment l'utiliser chez les registraires pris en charge.
Qu'est-ce que le protocole ACME
ACME (Automatic Certificate Management Environment) est un protocole ouvert qui automatise l'émission et le renouvellement des certificats TLS. Il est normalisé dans le RFC 8555. Il a été initialement créé pour l'autorité de certification Let's Encrypt, mais aujourd'hui, il est également pris en charge par des autorités commerciales, y compris DigiCert. Un client ACME fonctionne sur le serveur, s'enregistre auprès de l'autorité de certification. Pour les CA commerciales, des identifiants ACME (External Account Binding) sont généralement utilisés pour connecter le client avec le compte client. Le client soumet ensuite une demande de certificat et l'autorité lui demande de prouver le contrôle du domaine. Après une vérification réussie, l'autorité émet le certificat, le client le télécharge et l'installe. Avant l'expiration, le processus entier est répété automatiquement, donc le certificat est renouvelé sans intervention de l'administrateur.
Vérification du domaine par la méthode DNS-01
Une des méthodes de vérification du domaine est DNS-01. L'autorité de certification fournit un jeton au client ACME. Le client en déduit une valeur et l'insert dans un enregistrement TXT du domaine vérifié : _acme-challenge L'autorité retrouve ensuite l'enregistrement dans le DNS, et si la valeur correspond, le domaine est vérifié. L'avantage de DNS-01 est que le serveur n'a pas besoin d'être accessible depuis Internet ni d'avoir le port 80 ouvert. Cette méthode permet aussi d'émettre un certificat générique (*.domaine.fr). Si votre fournisseur DNS propose une API pour gérer les enregistrements, le client ACME peut créer l'enregistrement TXT lui-même et le supprimer après vérification, rendant le processus, y compris le renouvellement, entièrement automatique. Pour cela, nous recommandons une clé API avec des autorisations aussi restreintes que possible, idéalement limitée uniquement à la gestion des enregistrements DNS du domaine en question.
Intégration d'ACME dans l'application SSLmarket
L'application SSLmarket pour Windows permet, en plus de créer et de gérer les identifiants ACME, l’émission manuelle de certificats via ACME et la vérification DNS-01.
La demande manuelle de certificat est possible grâce au paramétrage des enregistrements DNS via l'API pour le domaine vérifié, ce qui permet de séparer le demandeur de certificat du domaine lui-même. Avec la vérification via fichier hébergé sur le web (HTTP-01), ce n'est pas possible. La demande de certificat parvient à la CA, qui renvoie un secret unique pour le défi et vérifie sa présence dans la zone DNS du domaine vérifié. Si l'enregistrement est trouvé, la demande de certificat est complétée via ACME et délivrée. Le client ACME (dans ce cas, l'application SSLmarket) enregistre ensuite le certificat sur votre ordinateur (Windows certificate store ou PFX).
Cette option d'émission peut être utile si vous avez besoin d'émettre un certificat pour un serveur qui n'est pas connecté à Internet ou si vous souhaitez simplement un PFX. Elle est également utile pour les tests.
Services pris en charge avec l'API DNS
Dans la première version avec le support ACME (1.5.0), vous avez dans l'application le choix entre trois services pour gérer les enregistrements DNS via l'API :
- CZECHIA.COM (Zoner)
- Google Cloud DNS
- Cloudflare
Le domaine vérifié doit avoir des serveurs de noms de ces fournisseurs (la zone DNS est hébergée chez eux) et vous devez avoir une clé API permettant de manipuler les enregistrements. D'autres fournisseurs seront ajoutés à l'avenir si le projet les supporte et s'il est techniquement possible.
Comment fonctionne ACME dans l'application SSLmarket
ACME est intégré dans l'application SSLmarket à l'aide du projet simple-acme. Celui-ci peut procéder à une vérification DNS-01 à l'aide de plugins qui intègrent les API de tiers. L'application SSLmarket prend les paramètres nécessaires et les transmet au client simple-acme en arrière-plan. Pour les utilisateurs, c'est une simplification et pour les auteurs de l'application, la possibilité d'utiliser facilement des intégrations DNS API déjà prêtes.
Dans le détail de l'identifiant ACME spécifique, vous pouvez demander directement un certificat. Vous remplissez le nom de domaine qui doit être vérifié via DNS, choisissez le fournisseur d'enregistrements DNS, et définissez le stockage du certificat émis (Windows certificate store, PFX). Si une clé API fonctionnelle pour le service tiers est insérée et fonctionne, la demande sera complétée après la vérification DCV, le certificat sera émis et enregistré selon les paramètres de la demande.
L’état de la demande est visible dans le journal devant vous, vous pouvez donc facilement résoudre les problèmes potentiels par une analyse du journal ou en l'envoyant au support client de SSLmarket.
Les certificats émis via ACME apparaissent le lendemain sur votre compte SSLmarket et seront facturés le mois suivant selon le tarif en vigueur de votre compte client.
Autres ressources et documentation
L'application SSLmarket pour l'émission de certificat via ACME intègre et utilise le projet simple-acme, y compris des plugins DNS intégrant les services de tiers. Pour la référence à l'utilisation de l'API DNS de chaque fournisseur, je recommande la page validation DNS. Chaque fournisseur a une authentification et des paramètres différents, notre application les absorbe dans ses réglages (frontend) et les transmet à simple-acme en arrière-plan.
Nous sommes désolés que vous n'ayez pas trouvé les informations que vous recherchiez.
Aidez-nous à améliorer cet article. Vous cherchez autre chose ? N'hésitez pas à nous écrire.