Pour mémoire, créer des clefs SSL pour un serveur web:
# cd /etc/apache2
Si besoin, créer des répertoires pour rececoir les clefs.
# mkdir ssl.key # chmod 0700 ssl.key # mkdir ssl.crt
Créer les clefs:
# cd ssl.key # NAME=www.mon-domain.fr # openssl req -new -newkey rsa:2048 -out "${NAME}".csr
Une pass-phrase est demandée, on va la virer trés vite.
Il faut aussi répondre a quelques questions, pour exemple:
Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]:France Locality Name (eg, city) []:Marseille Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mon entreprise Organizational Unit Name (eg, section) []:Mail Common Name (e.g. server FQDN or YOUR name) []:www.mon-domain.fr Email Address []:XXXpostmasterXXX@mon-domain.fr
Pour l'instant, on a 2 fichiers:
privkey.pem www.mon-domain.fr.csr
Extraire la clef privée en ce débarassant de la pass-phrase:
# openssl rsa -in privkey.pem -out "${NAME}".key
Créer le certificat auto-signé qui va bien (valable 10 ans):
# openssl x509 -in "${NAME}".csr -out "${NAME}".crt -req -signkey "${NAME}".key -days 3650
On peut rendre ce certificat visible (public)
# mv www.mon-domain.fr.crt ../ssl.crt/
Dans la conf d'Apache, on peut maintenant faire:
SSLEngine on SSLCertificateFile /etc/apache2/ssl.crt/www.mon-domain.fr.crt SSLCertificateKeyFile /etc/apache2/ssl.key/www.mon-domain.fr.key
Et puis, peut être:
# a2enmod ssl
Et aussi:
# apache2ctl configtest
… si succès, on termine par:
# apache2ctl graceful