web-dev-qa-db-fra.com

Comment obtenir le certificat SSL d'un serveur de messagerie?

J'ai besoin d'obtenir le certificat SSL de certains serveurs de messagerie. Je sais que je dois exécuter les étapes suivantes.

  1. Effectuez une requête DNS mx sur le nom de domaine (Dig google.com mx).
  2. Utilisez les informations pour télécharger le certificat SSL (openssl s_client -showcerts -connect google.com:443).

Mais je ne sais pas quelles informations je devrais récupérer à l'étape 1 et comment les utiliser à l'étape 2.

8
user2586432

Pour obtenir le certificat SSL/TLS d'un serveur SMPT, choisissez le domaine d'un enregistrement MX dans la section réponse de votre requête DNS et alimentez-le dans openssl:

$ Dig gmail.com mx
[...]
;; ANSWER SECTION:
gmail.com.      3599    IN  MX  20 alt2.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  5 gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  30 alt3.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  10 alt1.gmail-smtp-in.l.google.com.
gmail.com.      3599    IN  MX  40 alt4.gmail-smtp-in.l.google.com.
[...]

$ openssl s_client -connect gmail-smtp-in.l.google.com:25 -starttls smtp
[...]

Remarque: ce n'est pas une hypothèse sûre que le serveur Web (s'il y en a) fonctionnant sur la même machine que le serveur SMTP utilise le même certificat.

voir aussi https://serverfault.com/questions/131627/how-to-inspect-remote-smtp-servers-tls-certificate#131628

11
jojoob