Nous commençons par générer la bi-clé RSA, qui peut être protégée par une passphrase. Pour se faciliter la vie, on peut ne rien mettre pour la phrase de passe. Ceci nous évite de devoir la retaper à chaque redémarrage du serveur.
root@serveur#cd /etc/apache2/ root@serveur#mkdir ssl root@serveur#cd ssl root@serveur#openssl genrsa -out apache.key 1024
Nous générons ensuite le certificat autosigné
root@serveur#openssl req -new -x509 -days 365 -key apache.key -out apache.crt
Dans les questions posées, il faut faire attention au champ Common Name (eg, YOUR name) :. Il faut mettre le même nom que le serveur, pour mon cas ubuntupc.hd.free.fr. Sinon, nous aurons un message comme quoi le nom du propriétaire du certificat et du site ne correspond pas.
* -x509 : génération d’un certificat autosigné, et non d’une simple requête
* -days 365 : le certificat est valable 365 jours
* -key server.key : la clé publique est extraite de la bi-clé précédente
* -out server.crt : le certificat est copié
Le certificat n’est pas signé par une autorité de certification (type verisign). Ainsi, lors de son utilisation, le browser affichera une anomalie. Pour information, sur verisign.fr, un certificat coute très cher :/ par an.
Pour vérifier le bon usage du certificat :
root@serveur#openssl x509 -in apache.crt -text -noout
exemple d’utilisation dans un virtualhost:
<virtualhost *:443> ServerName serveurweb.dom DocumentRoot /var/www/siteweb Alias /monsiteweb /var/www/sitweb SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key </virtualhost>
Bonjour,
Pour vérifier le bon usage du certificat, la bonne syntaxe pour ce tuto est
root@serveur#openssl x509 -in apache.crt -text -noout
et non
root@serveur#openssl x509 -in server.crt -text -noout
Merci pour ce bon tuto !
Bonjour Auden,
merci pour avoir relevé l’erreur!
c’est corrigé :-)
Sauf erreur, starssl fait des certificats autosignés gratuitement.