Openssl : Création de certificats et CA autosignés
Table des matières
Cet article décrit brièvement comment générer un certificat SSL et le mettre en oeuvre dans apache2.
Ici une démo avec mon nom de domaine, mais il faut adapter avec le vôtre :
Dans le dossier /etc/ssl on créé un dossier pour notre domaine :
On crée la clé privée avec l'algorithme RSA 2048 bits.
Ensuite il faut générer un fichier de « demande de signature de certificat », en anglais CSR
On répond à un certain nombre de questions.
Il faut bien mettre le nom du serveur tel qu'il est appelé de l'extérieur dans le champ « Common Name » (CN).
Ensuite, on génére le certificat signé au format x509 (ici pour 365jours auto-signé)
openssl x509 -req -days 365 -in linuxtricks.fr.csr -signkey linuxtricks.fr.key -out linuxtricks.fr.crt
Ou au lieu d'auto-signer le certificat on peut envoyer le fichier CSR à une autorité de certification reconnue (CACert par exemple)
vi /etc/apache2/vhosts.d/00_default_ssl_vhost.conf
Editer les lignes
Introduction
Cet article décrit brièvement comment générer un certificat SSL et le mettre en oeuvre dans apache2.
Générer le certificat
Ici une démo avec mon nom de domaine, mais il faut adapter avec le vôtre :
Dans le dossier /etc/ssl on créé un dossier pour notre domaine :
Code BASH :
cd /etc/ssl mkdir linuxtricks.fr cd linuxtricks.fr
On crée la clé privée avec l'algorithme RSA 2048 bits.
Code BASH :
openssl genrsa -out linuxtricks.fr.key 2048
Ensuite il faut générer un fichier de « demande de signature de certificat », en anglais CSR
Code BASH :
openssl req -new -key server.key -out linuxtricks.fr.csr
On répond à un certain nombre de questions.
Il faut bien mettre le nom du serveur tel qu'il est appelé de l'extérieur dans le champ « Common Name » (CN).
Ensuite, on génére le certificat signé au format x509 (ici pour 365jours auto-signé)
openssl x509 -req -days 365 -in linuxtricks.fr.csr -signkey linuxtricks.fr.key -out linuxtricks.fr.crt
Ou au lieu d'auto-signer le certificat on peut envoyer le fichier CSR à une autorité de certification reconnue (CACert par exemple)
Éditer le "virtualhost" SSL dans apache
vi /etc/apache2/vhosts.d/00_default_ssl_vhost.conf
Editer les lignes
Code BASH :
ServerName linuxtricks.fr SSLCertificateFile /etc/ssl/linuxtricks.fr/linuxtricks.fr.crt SSLCertificateKeyFile /etc/ssl/linuxtricks.fr/linuxtricks.fr.key