# Certificat Wildcard avec Certbot et OVH

## Présentation

La présence d'un certificat SSL sur vos sites web est essentiel pour la sécurisation des transferts de données. Celui-ci est nécessaire pour le bon fonctionnement du protocole HTTPS, remplaçant du protocole HTTP.

Le protocole HTTPS (HyperText Transfer Protocol Secure) permet de sécuriser les échanges entre le serveur et le visiteur. On parle alors de communication chiffrée. Pour cela, HTTPS utilise un protocole de transport appelée SSL/TLS.

Avec Let's Encrypt, il est possible de générer des certificats SSL pour un domaine ou sous-domaine, mais il est également possible de générer un certificat pour plusieurs sous-domaines. On appelle ces certificats des certificats Wildcard. Ils certifient des noms DNS du type *.exemple.fr.

## Préparatifs

Dans mon cas, mon nom de domaine est enregistré sur OVH. Pour générer le Wildcard, nous allons utiliser un plugin de certbot, dns-ovh.

### Installation des dépendances

    apt install python3-pip
    apt install certbot
    apt install python3-certbot-dns-ovh

### Création des accès à l'API d'OVH

On se rend sur le site de l'API d'OVH pour créer nos clés. Voici les droits à attribuer :

- `GET /domain/zone/`
- `GET: /domain/zone/{domain}/`
- `GET /domain/zone/{domain}/status`
- `GET /domain/zone/{domain}/record`
- `GET /domain/zone/{domain}/record/*`
- `POST /domain/zone/{domain}/record`
- `POST /domain/zone/{domain}/refresh`
- `DELETE /domain/zone/{domain}/record/*`

On remplace {domain} par notre nom de domaine, sans les accolades. Par exemple : exemple.fr.

Accound ID correspond à votre Nichandle, présent dans l'interface de gestion de compte OVH, sous la forme xx11111-ovh.

On obtient ensuite une liste d'identifiants : Application Key, Application Secret, Consumer Key.

Sur notre serveur, on crée un fichier ".ovhapi". A titre d'exemple, je le place dans /root/.

    nano /root/.ovhapi

On rentre les identifiants sous cette forme :

    dns_ovh_endpoint = ovh-eu
    dns_ovh_application_key = xxx
    dns_ovh_application_secret = xxx
    dns_ovh_consumer_key = xxx

On attribue ensuite les droits sur ce fichier.

    chmod 600 /root/.ovhapi

## Génération du certificat Wildcard

La génération du certificat s'effectue en une seule ligne de commande :

    certbot certonly --dns-ovh --dns-ovh-credentials ~/.ovhapi -d exemple.fr -d *.exemple.fr

Pensez bien à remplacer “exemple.fr” par votre nom de domaine.

Dans ce cas, le domaine exemple.fr ainsi que tous ses sous-domaines seront certifiés. Voici le résultat :

Source d'origine | Rédacteur Alexis BONNET