Comment renouveler le certificat SSL utilisé par Postfix
J'ai dû renouveler le certificat SSL de mon serveur mail (qui tourne grâce à Postfix) aujourd'hui. On trouve des tutoriels sur Internet pour configurer un serveur mail, mais évidemment, un an plus tard, lorsqu'il s'agit de rebidouiller parce que le certificat utilisé arrive à expiration, on passe un bon quart d'heure à chercher et parcourir de longs tutoriels pour trouver un petit bout d'information pertinente. Voilà donc le petit bout en question.
L'autorité de certification qui vous a fourni un certificat vous a envoyé un mail vous disant qu'il fallait le renouveler, vous avez cliqué sur le lien, suivi les instructions, et obtenu un joli bloc de texte qui ressemble à :
-----BEGIN CERTIFICATE-----
MlfjmdCCA+2gAwIBAgVQQ7zoZN0GCSqGSIb3DQEBDDHNZUxkRQNOBgNVBAoTB1Jv
[quelques dizaines de lignes inintelligibles du même genre]
2gAwIBAgVQQ7zoZN
-----END CERTIFICATE-----
et vous vous demandez ce que vous devez en faire. Allez donc voir dans le
fichier de configuration de Postfix (/etc/postfix/main.cf
sur Debian), et
cherchez la ligne qui commence par smtpd_tls_cert_file =
. L'emplacement
indiqué par cette valeur, c'est le fichier dans lequel il faut mettre le
certificat. Chez moi, ça ressemble à :
smtpd_tls_cert_file = /etc/postfix/tls/server.crt
il faut donc que je fasse une sauvegarde de ce fichier, et que je remplace son
contenu par le bloc de texte donné par l'autorité de certification. Après avoir
redémarré Postfix (service postfix restart
), pouf ça marche.
Remarque potentiellement importante : dans des configurations (comme la mienne)
où l'empreinte du certificat est stockée en dur sur un client particulier (par
exemple, j'ai un tls_fingerprint 5D:7C:…
dans mon .msmtprc
), il faut bien
entendu renouveler cette empreinte. On fait ça avec :
openssl x509 -in /etc/postfix/tls/server.crt -sha1 -noout -fingerprint
et l'on peut copier ce qui est renvoyé après le =
dans le morceau de
configuration en question.