Certificats SSL

Créer une autorité de certification et des

certificats SSL auto-signés

 

Apache-SSL

SSL “Secure Socket Layer” et l’acronyme TLS signifie “Transport Layer Security”.
Le protocole SSL / TLS permet d’assurer la confidentialité des données échangées entre un utilisateur (Internaute ou application / logiciel) et une application (site Internet, service de messagerie / e-mail).

Cette confidentialité est assurée par un chiffrement des données échangées entre l’utilisateur et l’application. Elle évite toute interception en “clair” des informations communiquées.

Créer son CA (Certificate

Authority)

openssl genrsa 1024 > serveur.key

Le résulta attendu est le suivante :openssl

Si vous souhaitez que cette clé ait un mot de passe, ajoutez “-des3” après “genrsa”. (qui vous sera demandé à chaque démarrage d’apache, donc à éviter !),

Ceci a pour effet de créer une clé privée SSL (fichier serveur.key), ne la perdez pas !.

RSA PRIVATE KEY

Protégez votre fichier en faisant : chmod 400 serveur.key

A partir de votre clé, vous allez créer un fichier de demande de signature de certificat (CSR Certificate Signing Request).

On génère la demande de certificat  :

# openssl req -new -key serveur.key > serveur.csr

créer un fichier de demande de signature de certificat (CSR Certificate Signing Request)

 

Ceci a pour effet de créer le formulaire de demande de certificat (fichier serveur.csr) à partir de la clé privée serveur.key préalablement créée.

Ce fichier contient la clé publique à certifier. Un cat serveur.csr nous donne :

clé publique à certifier .csr

Maintenant, deux choix s’offrent à vous :
envoyer le fichier serveur.csr à un organisme tiers de confiance ou l’autorité de certification (CA)

Exemple : www.verisign.fr,www.thawte.fr…

Ainsi vous obtiendrez le certificat dûment signé par la clé privée de l’organisme (après avoir payé).

Ou

Signer vous-même le certificat.

Nous allons signer nous même le certificat

Création du certificat de l’autorité de certification

Vous devez devenir votre propre autorité de certification, cela implique de réaliser une clé et un certificat auto-signé.

La création de la clé privée de l’autorité de certification se fait comme précédemment :

openssl genrsa -des3 1024 > ca.key

Création du certificat de l'autorité de certification

Ce qui a pour effet de créer une clé privée de l’autorité de certification. Dans ce cas, il vaut mieux ajouter l’option -des3 qui introduit l’usage d’une “passphrase” car c’est cette clé privée qui signera tous les certificats que l’on émettra.era donc demandée à chaque utilisation de la clé.

Ensuite, à partir de la clé privée, on crée le certificat x509 pour d’une durée de validité d’un an auto-signé :

openssl req -new -x509 -days 365 -key ca.key > ca.crt

Il faut saisir la passphrase… puisqu’on utilise “ca.key” que l’on a protégé. Et on donne les renseignements concernant cette fois-ci l’autorité de certification (c’est à dire nous-même).

Attention : le nom de “Common Name” doit être différent de celui qui a été donné pour la clé.

a partir de la clé privée, on crée un certificat x509

C’est notre certificat d’autorité de certification qui va permettre de signer les certificats créés.

La signature du certificat serveur par le CA (Certificate Autority)

La commande qui signe la demande de certificat est la suivante :

 

# openssl x509 -req -in serveur.csr -out serveur.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl

 CAcreateserial n’est nécessaire que la première fois.

Il faut saisir la passphrase…

Le certificat signé est le fichier “serveur.crt”. La sortie de la commande attendue est la suivante :

signature du certificat serveur par le CA (Certificate Autority)

Vous avez maintenant un certificat pour votre serveur : serveur.crt.

# cat serveur.crt

Installer le vhosts sur le serveur web apache

 

Installer le certificat de l’autorité de certification dans chaque navigateur client.

Il va valider le certificat reçu par le client lors de la requête https://.

Installation du certificat d’autorité de certification

Pour installer sur votre navigateur le certificat de l’autorité de certification, fichier ca.crt :

Avoir le certificat disponible à partir du client (clé usb…) Internet Explorer, un clic

Internet Explorer :

Faire un clic droit ou double-clic sur le fichier devrait vous permettre de lancer l’assistant d’installation du certificat dans Internet Explorer. Vous devez l’installer en tant qu’autorité de certification. Vérifiez ensuite que le certificat s’y trouve bien sous le nom de “CA_cert “.

Mozilla :

Allez dans outils, option.

Firefox options

Afficher les certificats.

Gestionnaire certificats

Importer et sélectionné le fichier : ca.crt

 

 

1 commentaire sur “Certificats SSL

  1. Bravo pour les explications. Enfin une explication simple et claire. J’ai pu ainsi facilement recréer le certificat de mon site Web.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

* Copy This Password *

* Type Or Paste Password Here *