L’information est surement déjà vue et revue, je met donc simplement quelques notes sur openssl pour la création de certificats autosignés.

Générer certificat

openssl genrsa -out /etc/apache2/apache.key
openssl req -new -x509 -days 3650 -key /etc/apache2/apache.key -out /etc/apache2/apache.cert

Attention : mettre le nom de la machine / nom de domaine pour « Common Name »
On peut utiliser un wildcard (joker) du type *.example.com
Il est possible d’associer plusieurs noms alternatifs à un certificat en utilisant subjectAltName

Editer l’écoute apache

vim /etc/apache2/ports.conf : NameVirtualHost *:443

 Utiliser un certificat dans la config virtualhost

    SSLEngine on
    SSLCertificateFile /chemin/vers/www.example.com.cert
    SSLCertificateKeyFile /chemin/vers/www.example.com.key

 

Obtenir le certificat d’un site

openssl s_client -showcerts -connect imap.googlemail.com:993 </dev/null

Décrypter un certificat avec la clé privée protégée par un mot de passe.

openssl rsa -in ssl.key -out ssl.key

Certificat signé par un CA valide

Il est possible d’avoir un certificat SSL émis par une CA (certificate authority) reconnue des navigateurs. J’y ai consacré un article à propos de startssl qui propose un certificat SSL d’un an gratuitement.