Générer un certificat SSL auto-signé pour Apache
Par Juba le mercredi 14 mai 2008, 11:27 - Linux, Debian, etc. - Lien permanent
D'abord on génère une clé non chiffrée sur disque (pour éviter d'avoir à saisir un mot de passe à chaque redémarrage d'Apache) :
# openssl genrsa -out mykey.key 1024
Ensuite on crée un certificat signé avec cette clé :
# openssl req -new -x509 -days 365 -key mykey.key -out mycert.crt
Répondre à l'ensemble des questions posées. Le nom de la machine doit être donné en réponse à Common Name. On peut utiliser un wildcard (joker) du type *.example.com
pour que le certificat s'applique à un ensemble de sous-domaines.
Ensuite, dans Apache, modifier le fichier de définition du VirtualHost qui va bien :
NameVirtualHost *:443 <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/mycert.crt SSLCertificateKeyFile /etc/ssl/mykey.key SSLVerifyClient none [etc., etc.] </VirtualHost>
Commentaires
À noter qu'il est possible d'associer plusieurs noms alternatifs à un certificat en utilisant
subjectAltName
. Ça évite d'utiliser les wildcards qui ne sont pas forcement très propres.Un script qui permet de faire ça simplement a été écrit par Jean-Christophe Dubacq.
Olivier;
ça marche,
Merci, simple et efficace
+1, ça m'a dépanné dans ma conf ssl apache
A noter que selon votre configuration serveur et selon le nombre d'IP bénéficiant d'un certificat SSL sur votre serveur vous devrez spécifier l'ip associé dans le vhost:
<VirtualHost XX.XX.XX.XX:443>
j'aimerais avoir tous les details pour securiser un serveur apache sous Debian. Merci d'avance