Générer une demande de signature(CSR)
On commence par générer la clef privée pour notre certificat, c’est elle qui va nous permettre de déchiffrer la clef de session que le client aura chiffrée avec notre clef publique(voir étape 3 de l’article Openssl – création d’une autorité de certification).Dans ce cas-ci, la clef privée ne sera pas protégée par un mot de passe. Nous allons tester notre certificat avec le serveur web Apache, si nous mettons un mot de passe sur cette clef, il faudra le taper à chaque fois que le serveur Apache sera démarré.
Générer le clef privée:
#openssl genrsa 1024 > www.test.net.key
Cette clef ne doit être lisible que par l’utilisateur root:
chmod 600 www.test.net.key
On génère la demande de signature(CSR):
#openssl req -new -key www.test.net.key -out www.test.net.csr
Signature du CSR avec notre CA
openssl ca -in www.test.net.csr -out www.test.net.crt
On peut copier le certificat www.test.net.crt dans /etc/ssl/certs et la clef privée www.test.net.key dans /etc/ssl/private sur le serveur web.
Tester le nouveau certificat avec Apache
Installer Apache:apt-get install apache2
Activer le module ssl:
a2enmod ssl
Activer le virtual host default-ssl:
a2ensite default-ssl
Il faut maintenant indiquer le chemin vers la clef et le certifcat que nous avons créés auparavant.
Dans /etc/apache2/sites-available/default-ssl, on remplace:
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
Par:
SSLCertificateFile /etc/ssl/certs/www.test.net.crt
SSLCertificateKeyFile /etc/ssl/private/www.test.net.key
On redémarre apache:
/etc/init.d/apache2 restart
Si on se connecte en https sur notre serveur web on reçoit un avertissement. Si l’on veut éviter ce problème, il suffit d’importer le CA que nous avons créé dans l’article précédent sur notre navigateur.
Sur Firefox on peut l’installer via:
Edit -> Préférences -> Advanced -> View Certificates -> Import
Commandes openssl utiles
Afficher tout ce qui se trouve dans le certificat:openssl x509 -in www.test.net.crt -text
Afficher le sujet du certificat:
openssl x509 -in www.test.net.crt -noout -subject
Afficher l’issuer du certificat:
openssl x509 -in www.test.net.crt -noout -issuer
Commentaires
Enregistrer un commentaire