Monthly Archives: octobre 2010

Créer un certificat SSL pour Apache

Démarche pas à pas pour créer un certificat et l’utiliser dans Apache pour faire du https (SSL)

1) Créer la clef privée de l’autorité de certification:

openssl genrsa -des3 2048 > ca.key

Indiquer un mot de passe associé cette clef privée

2) Créer le certificat de l’autorité certification :

openssl req -new -x509 -days 3650 -key ca.key > ca.crt

Dans cette option on crée un cerificat signé la clef privée

3) Créer la clef privée du serveur :

openssl genrsa 2048 > server.key

Pour éviter qu’Apache demande un mot de passe à chaque démarrage pour utiliser le certificat du serveur, on utilise l’option
des3

4) Créer un fichier de demande de signature de certificat (CSR) :

openssl req -new -key server.key > server.csr

Le COMMON NAME doit correspondre au nom d’hote virtuel d’apache (ici : site.mine.nu). Ne pas saisir d’extra-attributes, donc pas de mot de passe.

5) A ce stade on devrait envoyer le fichier de demande de signature de certificat (CSR) une autorité officielle de cerification, mais dans le cas présent on le signe avec le certificat de l’autoritée crée en étape 2 :

openssl x509 -days 3650
-req -in server.csr
-out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.srl

6) Installer le certificat dans Apache2, dans le fichier de configuration indiquer :

SSLEngine on
SSLCertificateFile /chemin/server.crt
SSLCertificateKeyFile /chemin/server.key