La commande suivante permet de générer un certificat ssl dans le but de l'utiliser pour activer le https sur son serveur http.
Commande de génération du certificat ssl
La commande suivante génère un certicat ssl pour qu'un serveur http puisse l'utiliser pour le protocol https :
root@home:~$ openssl req -new -x509 -keyout server.pem -out server.pem -days 3650 -nodes
L'option -days 3650 permet de donner une validité de 10 ans à ce certificat, ce qui m'évitera de le régénérer avant un bon moment.
Informations sur le certificat ssl
Une fois la commande lancée on vous demande un tas d'informations, personnellement ce certificat va juste me servir à sécuriser pma donc je rentre des valeurs par défaut :
Generating a 1024 bit RSA private key
.............++++++
....................++++++
writing new private key to 'server.pem'
-----
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]:
Locality Name (eg, city) []:Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]:pcr
Organizational Unit Name (eg, section) []:pcr
Common Name (eg, YOUR name) []:pcr
Email Address []:
On retrouve ces informations dans le navigateur en affichant les informations du certificat ssl :
Certificat SSL invalide
Le fichier server.pem contient un certificat SSL gratuit mais qui n'est pas valide pour les navigateurs. En effet comme c'est un certificat non signé qu'on appel aussi certificat auto signé le navigateur client affichera un warning du genre :
Mais comme je n'ai pas 1.499 € à donner tous les ans à Verisign pour sécuriser phpMyAdmin je vais juste ajouter une exception dans mon navigateur et cela fera l'affaire.
Pour ceux qui utilise lighttpd je vous propose mon article sur la configuration https de lighttpd.
Image : Whiskeygonebad