sommaire
OpenSSL
Création et gestion de vos certificats


Ce introduction se veut volontairement limitée, OpenSSL est riche en fonctionnalité, le site offciel permettra de combler les plus exigeant.


Devenir une autorité de certification:

Création du certificat de l'autorité de certification avec "passphrase" pour protéger (-des3) la ca.key

openssl genrsa -des3 1024 > ca.key


A partir de la clé privée, on crée un certificat x509 pour une durée de validité d'un an auto-signé. Du fait de la protection du ca.key via -des3, la creation du certificat demandera la "passphrase"

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

-days  permet de définir le nombre de jour où le certificat sera valable: attention à ne pas oublier de le renouveler !!!

Enter pass phrase for ca.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IDF
Locality Name (eg, city) []:Puteaux
Organization Name (eg, company) [Internet Widgits Pty Ltd]:fredaria.org
Organizational Unit Name (eg, section) []:Certificateur
Common Name (eg, YOUR name) []:cert_CA
Email Address []:

Le champ "Common Name (eg, YOUR name) []:cert_CA" apparaîtra dans le détails du certificat lors d'une consultation d'une page internet par exemple.

Le fait de devenir une autorité de certication est juste un cas d'école sauf à avoir de gros moyens et d'obtenir les autorisations necessaire pour être reconnus au niveau mondial.


Création d'une clé privé pour un serveur/service particulier: webmail.fredaria.org

Depuis l'autorité de certification:

openssl genrsa 1024 >  webmail.fredaria.org.key


Création du fichier de demande de signature de certificat (CSR Certificate Signing Request)

openssl req -new -key webmail.fredaria.org.key > webmail.fredaria.org.csr

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:FR
State or Province Name (full name) [Some-State]:IDF
Locality Name (eg, city) []:Puteaux
Organization Name (eg, company) [Internet Widgits Pty Ltd]:fredaria.org
Organizational Unit Name (eg, section) []:webmail
Common Name (eg, YOUR name) []:webmail.fredaria.org
Email Address []:

Signature du certificat serveur par le CA:

openssl x509 -req -in webmail.fredaria.org.csr -out webmail.fredaria.org.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl

-CAcreateserial: ne sert que la première fois pour créer le fichier de numéro de série.
-CAserial et -CA fonctionne ensemble sous peine de générer une erreur.

Signature ok
subject=/C=FR/ST=IDF/L=Puteaux/O=fredaria.org/OU=webmail/CN=webmail.fredaria.org.
Getting CA Private Key
Enter pass phrase for ca.key:


=> liste des fichiers générés:
-rw-r--r--  1 root root      887 2013-05-30 15:21 webmail.fredaria.org.key
-rw-r--r--  1 root root      672 2013-05-30 15:30 webmail.fredaria.org.csr
-rw-r--r--  1 root root      963 2013-05-30 15:34 ca.key
-rw-r--r--  1 root root     1164 2013-05-30 15:43 ca.crt
-rw-r--r--  1 root root      879 2013-05-30 15:48 webmail.fredaria.org.crt
-rw-r--r--  1 root root       17 2013-05-30 15:48 ca.srl

Ce genre de certifcat / clé vont permettre de sécuriser par exemple la couche transport de Postfix (TLS) ou bien la page d'authentification d'un webmail ...