====== Mise en place de certificats SSL Let's Encrypt wildcard avec API Gandi LiveDNS ======
Le titre parle de lui même. En validation DNS-01 Let's Encrypt a besoin de mise à jour des LiveDNS chez Gandi. Voici les scripts et commandes pour automatiser le processus.
===== Prérequis =====
* Avoir votre clé API Gandi
* Avoir activé LiveDNS pour votre domaine
* Certbot installé sur votre serveur linux, version 0.22 minimum
* Avoir déjà une connaissance de Certbot
===== Scripts =====
==== Script pour déclarer votre clé API Gandi ====
#!/bin/bash
APIKEY="XXXXXXXXXXXXXXXXXXXXXXXXXXX"
==== Script Auth pour mettre à jour le live DNS ====
#!/bin/bash
# Appel clé API
source ./gandi-api-key.sh
API="https://dns.api.gandi.net/api/v5/"
DOMAIN=$CERTBOT_DOMAIN
RECORD="_acme-challenge"
#Debug
echo "DOMAIN :" $CERTBOT_DOMAIN
echo "VALIDATION :" $CERTBOT_VALIDATION
# Données à envoyer
DATA='{"rrset_values": ["'$CERTBOT_VALIDATION'"]}'
# Appel API
curl -s -XPUT -d "$DATA" \
-H"X-Api-Key: $APIKEY" \
-H"Content-Type: application/json" \
"$API/domains/$DOMAIN/records/$RECORD/TXT"
# Sleep pour propager au Gandi LiveDNS
sleep 60
===== Utilisation =====
#!/bin/bash
certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual-public-ip-logging-ok --preferred-challenges dns-01 --manual-auth-hook ./gandi-auth.sh --manual -d *.mondomaine.net -d mondomaine.net
Rajoutez le paramètre suivant pour effectuer d’abord vos tests.
--dry-run
Ces scripts ne gèrent aucunement les erreurs. Utilisation quick and dirty uniquement. A vos risques et périls.
Ne déplacez pas le script d'auth, le renew automatique de certbot fait appel à lui.
===== Sources =====
[[https://doc.livedns.gandi.net/|doc.livedns.gandi.net]]