Ovh letsencrypt
OVH prend en charge les certificats wildcard via son API. Cela signifie que vous pouvez utiliser l'API OVH pour automatiser la validation DNS requise par Let's Encrypt lors de la génération ou du renouvellement d'un certificat wildcard.
1. Pourquoi utiliser l'API OVH pour les certificats wildcard ?
Validation DNS : Let's Encrypt nécessite une validation DNS pour les certificats wildcard. L'API OVH vous permet d'automatiser la création et la suppression des enregistrements DNS TXT nécessaires.
Automatisation : Avec l'API, vous pouvez intégrer le processus de renouvellement des certificats dans vos scripts ou outils d'automatisation (comme Certbot).
Gestion centralisée : Si vous utilisez OVH comme fournisseur DNS, l'API vous permet de gérer vos enregistrements DNS programmatiquement.
2. Comment utiliser l'API OVH avec Certbot pour les certificats wildcard
Étape 1 : Créer une application API OVH
- Allez sur la page des API OVH : https://api.ovh.com/.
- Connectez-vous à votre compte OVH.
- Créez une nouvelle application API pour obtenir vos clés d'identification :
- https://www.ovh.com/auth/api/createToken
- Nom de l'application : Par exemple, Certbot Wildcard.
- Description : Par exemple, "Renouvellement automatique des certificats wildcard".
- Permissions : Accordez les permissions suivantes :
GET /domain/zone/
GET /domain/zone/exemple.com/
GET /domain/zone/exemple.com/status
GET /domain/zone/exemple.com/record
GET /domain/zone/exemple.com/record/*
POST /domain/zone/exemple.com/record
POST /domain/zone/exemple.com/refresh
DELETE /domain/zone/exemple.com/record/*
Notez les identifiants suivants :
- Application Key (AK)
- Application Secret (AS)
- Consumer Key (CK)
Étape 2 : Configurer Certbot avec le plugin DNS OVH
Installez Certbot et le plugin DNS OVH :
Sur Debian/Ubuntu :
sudo apt update
sudo apt install certbot python3-certbot-dns-ovh
Créez un fichier ovh.ini pour stocker vos clés API :
sudo mkdir -p /etc/letsencrypt/.secrets
sudo nano /etc/letsencrypt/.secrets/ovh.ini
Ajoutez les informations suivantes :
dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = VOTRE_APPLICATION_KEY
dns_ovh_application_secret = VOTRE_APPLICATION_SECRET
dns_ovh_consumer_key = VOTRE_CONSUMER_KEY
Remplacez les valeurs par vos clés API OVH. Protégez le fichier :
sudo chmod 600 /etc/letsencrypt/.secrets/ovh.ini
Gestion des token des applications
- Dans la console de l'api
https://eu.api.ovh.com/console/?section=%2Fdomain&branch=v1#auth
GET https://eu.api.ovh.com/v1/me/api/application/
GET https://eu.api.ovh.com/v1/me/api/application/{id}
DELETE https://eu.api.ovh.com/v1/me/api/application/{id}
Étape 3 : Obtenir un certificat wildcard
Utilisez Certbot avec le plugin DNS OVH pour obtenir un certificat wildcard :
sudo certbot certonly --dns-ovh --dns-ovh-credentials /etc/letsencrypt/.secrets/ovh.ini -d votre-domaine.com -d *.votre-domaine.com
Certbot utilisera l'API OVH pour créer automatiquement l'enregistrement DNS TXT requis pour la validation.
Étape 4 : Automatiser le renouvellement
Let's Encrypt émet des certificats valides pendant 90 jours. Vous devez automatiser le renouvellement. Ajoutez une tâche cron pour renouveler automatiquement les certificats :
sudo crontab -e
Ajoutez la ligne suivante pour renouveler les certificats tous les jours à minuit :
0 0 * * * certbot renew --dns-ovh --dns-ovh-credentials /etc/letsencrypt/.secrets/ovh.ini --quiet
3. Limitations et considérations
Limites de taux OVH : L'API OVH a des limites de taux (rate limits). Assurez-vous de ne pas dépasser ces limites lors de l'automatisation.
Sécurité des clés API : Protégez vos clés API OVH. Ne les exposez pas publiquement.
Support des sous-domaines dynamiques : Les certificats wildcard ne sont pas idéaux pour les sous-domaines créés dynamiquement (par exemple, dans les environnements SaaS).
4. Exemple complet
Voici un exemple complet pour obtenir un certificat wildcard avec OVH et Certbot :
# Installer Certbot et le plugin DNS OVH
sudo apt update
sudo apt install certbot python3-certbot-dns-ovh
# Créer le fichier de configuration OVH
sudo mkdir -p /etc/letsencrypt/.ovhsecrets
sudo nano /etc/letsencrypt/.ovhsecrets/ovh.ini
# Ajouter les informations suivantes dans ovh.ini
dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = VOTRE_APPLICATION_KEY
dns_ovh_application_secret = VOTRE_APPLICATION_SECRET
dns_ovh_consumer_key = VOTRE_CONSUMER_KEY
# Protéger le fichier
sudo chmod 600 /etc/letsencrypt/.ovhsecrets/ovh.ini
# Obtenir un certificat wildcard
sudo certbot certonly --dns-ovh --dns-ovh-credentials /etc/letsencrypt/.ovhsecrets/ovh.ini -d exemple.com -d *.exemple.com
# Automatiser le renouvellement
sudo crontab -e
# Ajouter cette ligne
#0 0 * * * certbot renew --dns-ovh --dns-ovh-credentials /etc/letsencrypt/.ovhsecrets/ovh.ini --quiet
01 00 * * * root /usr/bin/certbot certonly --dns-ovh --dns-ovh-credentials /etc/letsencrypt/.ovhsecrets/ovh.ini --non-interactive --agree-tos --email email@mail.fr -d exemple.com -d *.exemple.com
Conclusion
OVH prend en charge les certificats wildcard via son API, ce qui permet d'automatiser la validation DNS avec Let's Encrypt. En utilisant Certbot et le plugin DNS OVH, vous pouvez facilement obtenir et renouveler des certificats wildcard pour vos sous-domaines.
Source: deepseek.