La scène suivante se déroule dans /etc/apache-ssl. Toute ressemblance avec un fichier existant ou ayant existé n'est le fruit d'aucune coïncidence. :D

Nous commençons par générer la bi-clé RSA, qui peux être protégée par une passphrase. Pour se faciliter la vie, on peux ne rien mettre pour la phrase de passe. Ceci nous évite de devoir la retaper à chaque redémarrage du serveur.

openssl genrsa -out server.key 1024

Nous générons ensuite le certificat autosigné

openssl req -new -x509 -days 365 -key server.key -out server.crt

Dans les questions posées, il faut faire attention au champ Common Name (eg, YOUR name) :. Il faut mettre le même nom que le serveur, pour mon cas nemako.ath.cx. Sinon, nous aurons un message comme quoi le nom du propriétaire du certificat et du site ne correspond pas.

  • -x509 : génération d'un certificat autosigné, et non d'une simple requête
  • -days 365 : le certificat est valable 365 jours
  • -key server.key : la clé publique est extraite de la bi-clé précédente
  • -out server.crt : le certificat est copié

Le certificat n'est pas signé par une autorité de certification (type verisign). Ainsi, lors de son utilisation, le browser affichera une anomalie. Pour information, sur verisign.fr, un certificat 40 bits coûte 450€ par an et un certificat pro de 128 bits coûte 1150€ par an.

Pour vérifier le bon usage du certificat :

openssl x509 -in server.crt -text -noout

Nous devons maintenant remplacer l'ancien certificat d'apache-ssl (apache.pem)

cat server.key > apache.pem
cat server.crt >> apache.pem

Il faut maintenant redémarrer le serveur apache et vérifier le bon fonctionnement.

Liens