Certificats SSL chez Gandi

Vers mes notes "X 509 - TLS, CA, identité et clefs" (concepts et vocabulaire). Gandi est une autorité de certification depuis fin 2008 (ils signent numériquement chaque certificat émis).

ssl sur simple hosting : aide gandi à http://groups.gandi.net/fr/topic/gandi.fr.ssl/35177 et http://wiki.gandi.net/fr/ssl/intermediate
Gandi inclut une première année gratuite de certificat SSL standard “une adresse” avec l'achat ou le transfert d'un nom de domaine chez Gandi: aller sur la page de gestion du domaine, simuler l'achat d'un SSL standard à 12 euros.
Voir aussi https://www.gandi.net/ssl/compare


Les divers certificats

Les certificats Gandi utilisent la signature SHA1 avec chiffrement RSA (mieux supporté par les navigateurs que SHA2).
Il est nécessaire, afin que votre certificat soit reconnu comme émis par une autorité de certification approuvée, de récupérer le certificat intermédiaire fourni par Gandi.
Pour chaque type de certificat SSL (Gandi Standard, Pro, Pro avec option SGC, Business…) le certificat intermédiaire sera différent. http://wiki.gandi.net/fr/ssl/intermediate

Comment choisir: https://www.gandi.net/ssl/which-ssl-certificate
 * pour asso avec boutique et 1 seul domaine (SGC = support vieux nav IE5, NS4): offre Gandi SSL Pro - avec l'option SGC 34 euro
 * particulier sans boutique: offre Gandi SSL Standard : 12 euro pour une adresse, 40 euros pour 3 adresses

Gandi est CA. Les certificats Gandi utilisent la signature SHA1 avec chiffrement RSA. Attention, ceci ne concerne que le certificat en lui-même et non l'ensemble CSR / clé privé, ainsi que la négociation serveur/client.
Récupérer le certificat intermédiaire fourni par Gandi :

  • attention, sera différent selon la formule (Standard, Pro... cf comment_obtenir_le_certificat_intermediaire_gandi)
  • Si la CSR est signée avec SHA-1 alors vous devrez récupérer le certificat intermédiaire SHA-1 et si la CSR est signée avec SHA-2 alors il faudra récupérer le certificat intermédiaire SHA-2.

Lors de l'achat d'un domaine, Gandi nous offre un certificat

 


Générer et installer un certificat SHA2 (coté Gandi)

enlightened cle.csr est la clé publique et cle.key la clé privée. Le .pem est le certificat intermédiare.

Si nom de domaine et hébergement chez Gandi, avant l'achat du certificat (j'ai acheté un SSL Standard, 3 adresses pour mon pack M), ajouter un email "admin" à son nom de domaine (alias ou email en admin@mon-nom-de-domaine.org).

Pour toute création ou modification, il faut par la suite faire :

Utiliser le générateur Gandi

pour copier la ligne de commande (aller à https://www.gandi.net/ssl/create/openssl en bas lors de l'achat, par la suite le modifier via https://www.gandi.net/admin/ssl/manage).
Sur son pc (avoir un client ssh installé), créer un dossier "CSR Gandi", aller dedans (en ligne de commande) et y coller la commande (CSR=Certificate Signing Request). Par ex: openssl req -new -newkey rsa:2048 -nodes -out jenny.bourdiol.org.csr -keyout jenny.bourdiol.org.key -subj '/C=FR/CN=jenny.bourdiol.org'Ca crée 2 fichiers: new private key (jenny.bourdiol.org.key à archiver avec soin, en double) et jenny.bourdiol.org.csr

C'est le contenu de la clé publique .csr qu'il faut coller à l'achat ou de la regénération (par ex modif des altnames multidomaine) du certificat.

Pour info, génération d'une demande de certificat en SHA 1 : openssl req -nodes -newkey rsa:2048 -sha1 -keyout monserveur.key -out serveur.csr
                                              et en SHA2 (-sha256 ou -sha512): openssl req -nodes -newkey rsa:2048 -sha256 -keyout monserveur.key -out serveur.csr

Note archivage: le dossier "CSR Gandi" doit comporter une note.txt avec les infos: date et les domaines concernés "dom1" "dom2" "dom3" car s'applique soit sur aucun soit sur les 3 domaines mentionnés.
Pour les tests, on doit donc générer un certificat "test" qu'on appliquera que sur test.mon-domaine.fr. Par la suite, il faudra recréer un .csr pour les domaines/sous-domaines voulus, configurer le CN (domaine principal) appliquera le certificat sur l'ensemble des vhosts.

A l'achat, on recoit un email 20 mn plus tard, il faut cliquer sur le lien pour confirmer que cet email est ok (cela valide une autre étape). On voit le processus en cliquant sur icone crayon à https://www.gandi.net/admin/orders

Puis on choisit : DNS ou email ou fichier. Par email c'est rapide et hyper simple.
On recoit un email avec un lien vers secure.comodo.com et un code (écran " Domain Control Validation (Part 2)"). Coté Gandi, ce certificat est de suite validé (https://www.gandi.net/admin/ssl/manage).

En cliquant sur mon-domaine.com (à partir de https://www.gandi.net/admin/ssl/manage), on peux récupérer 3 logos (3 langues) et son certificat (en .crt ; l'intermédiare est en .pem).

ajout du certificat à son instance

Il faut ajouter ce certificat à son instance (icone cadenas): ce qui mène à une autre page "Ajouter un certificat", avec 2 champs "Certificat" (CRT) et "Clé privée" : y coller les contenus de nom-dom1.csr et nom-dom1.key.

Note: quand on ajoute par la suite d'autres "alt name" (pour gérer sous-dom.mondom.fr), il regénère la cléf => il faudra la réinstaller, l'ancienne est détruite sous 48h.
Ne pas oublier d'ajouter le certificat intermédiaire (pour gérer les clients "non TLS 1.2", comme  IE 7 vista, IE Mobile 10 ou les Android 4.3 et antérieurs).

Plus sur la CSR

Source http://wiki.gandi.net/fr/ssl/csr

La CSR (Certificate Signing Request) est un fichier contenant les informations de votre demande de certificat, y compris votre clé publique. Vous devez générer cette clé à partir de votre serveur.

Depuis septembre 2014, vous avez la possibilité de créer des certificats utilisant SHA2.
Il est conseillé de continuer à utiliser SHA1, bien que SHA2 soit plus fiable, en raison du manque de support actuel pour SHA2 sur les différents navigateurs et systèmes d'exploitation.
Si vous choisissez d'utiliser SHA2, nous vous conseillons d'ajouter le certificat intermédiaire (SHA2 donc) ainsi que le certificat cross signed sur votre serveur pour réduire les risques d'incompatibilité avec les navigateurs.

Pour l'utiliser, il faudra le concaténer au certificat intermédiaire Gandi SHA2. Par exemple :

-----BEGIN CERTIFICATE-----
XXXXXXXXX   <- certificat intermédiaire
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
XXXXXXXXX   <- certificat cross-signed 
-----END CERTIFICATE-----

Ensuite avec Apache2, il vous suffira de spécifier la localisation de ce fichier au moyen de la directive SSLCertificateChainFile -> ne concerne pas "Simple Hosting".

CRL

Source: https://www.gandi.net/ssl/documentation

La liste des certificats révoqués (CRL) selon le type de certificat Standard, Pro ou Gandi Pro SGC.

La liste des certificats révoqués est également disponible via le protocole OCSP à http://ocsp.gandi.net

Attention: si l'on révoque un certificat il faudra repayer (14 euros dans mon cas), et cela n'est nulle part indiqué (ni dans leurs docs, plutot orientée "Gandi Serveur" d'ailleurs ou divers forums).
J'avais acheté un nom de domaine en .xyz et avais donc un certificat offert par Gandi, de type "SSL Standard / Une adresse" à des fins de tests. Puis, je l'ai révoqué et ai contacté le support, car la validation ne remettait pas la somme à 0 (comme à la création de la 1ere CSR). Voici la réponse du support de Gandi : "

Lorsque vous révoquez un certificat, il est détruit auprès de notre partenaire Comodo. Vous devez ensuite créer un nouveau certificat SSL que nous ne pouvons plus offrir car notre partenaire Comodo nous facture pour la création du second certificat SSL."
logo drush