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é)
Ou au lieu d'auto-signer le certificat on peut envoyer le fichier CSR à une autorité de certification reconnue.
Exemple ici sur Gentoo, mais le fichier de configuration peut se trouver dans un autre fichier, comme /etc/httpd/conf.d/ssl.conf pour CentOS :
Éditer 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 :
domaine=linuxtricks.fr cd /etc/ssl mkdir $domaine cd $domaine
On crée la clé privée avec l'algorithme RSA 2048 bits.
Code BASH :
openssl genrsa -out $domaine.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 $domaine.key -out $domaine.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é)
Code BASH :
openssl x509 -req -days 365 -in $domaine.csr -signkey $domaine.key -out $domaine.crt
Ou au lieu d'auto-signer le certificat on peut envoyer le fichier CSR à une autorité de certification reconnue.
Éditer le "virtualhost" SSL dans apache
Exemple ici sur Gentoo, mais le fichier de configuration peut se trouver dans un autre fichier, comme /etc/httpd/conf.d/ssl.conf pour CentOS :
Code BASH :
vi /etc/apache2/vhosts.d/00_default_ssl_vhost.conf
Éditer les lignes
Code BASH :
ServerName linuxtricks.fr SSLCertificateFile /etc/ssl/linuxtricks.fr/linuxtricks.fr.crt SSLCertificateKeyFile /etc/ssl/linuxtricks.fr/linuxtricks.fr.key