web-dev-qa-db-fra.com

Postfix + Gmail. La vérification du certificat a échoué

J'ai configuré mon système pour envoyer des courriels via Gmail.

Le système fonctionne dans la mesure où je peux envoyer des courriels, mais je reçois une erreur concernant le certificat sécurisé.

Voici un exemple d'entrée dans le mail.log:

    Oct 29 12:17:27 durban postfix/smtp[20742]: setting up TLS connection
    to smtp.gmail.com[209.85.143.108]:587

    Oct 29 12:17:27 durban postfix/smtp[20742]: certificate verification
    failed for smtp.gmail.com[209.85.143.108]:587: untrusted issuer
    /C=US/O=Equifax/OU=Equifax Secure Certificate Authority

    Oct 29 12:17:27 durban postfix/smtp[20742]: Untrusted TLS connection
    established to smtp.gmail.com[209.85.143.108]:587: TLSv1 with cipher
    RC4-SHA (128/128 bits)

    Oct 29 12:17:29 durban postfix/smtp[20742]: BA4852A1BFA:
    to=<[email protected]>, relay=smtp.gmail.com[209.85.143.108]:587,
    delay=2.9, delays=0.1/0.1/1.3/1.4, dsn=2.0.0, status=sent (250 2.0.0
    OK 1319887049 l20sm20686943wbo.6)

J'ai cherché ce problème dans Google et en ai trouvé d'autres qui ont pu le résoudre en mettant à jour un fichier appelé cacert.pem dans le répertoire/etc/postfix.

Dans mon main.cf, j'ai la ligne suivante (parmi d'autres):

smtpd_tls_CAfile=/etc/postfix/cacert.pem

J'ai ce fichier:

-rw-r--r-- 1 root root 2298 2011-10-29 12:16 cacert.pem

J'ai rempli ce fichier avec les commandes:

# cat /usr/lib/ssl/certs/Equifax_Secure_CA.pem >> /etc/postfix/cacert.pem
# cat /usr/lib/ssl/certs/Thawte_Premium_Server_CA.pem >>
      /etc/postfix/cacert.pem

Je crois que la première ligne devrait suffire et la deuxième ligne (certificat) est un ancien certificat qui n’est plus utilisé (par Google).

Je ne sais pas ce que je peux changer d'autre et je n'ai aucune idée de ce qu'il faut rechercher ou des fichiers journaux à vérifier.

Toute allusion appréciée.

7
BWi

J'avais le même problème et lorsque j'ai émis "postconf | grep smtp | grep CA", toutes les variables étaient vides: smtp_tls_CAfile = smtp_tls_CApath = smtpd_tls_CAfile = smtpd_tls_CApath =

Voici comment je l'ai réparé;

Je suppose que votre installation Ubuntu a créé le chemin d'accès à une autorité de certification qui contient toutes les autorités de certification connues sur Internet:/etc/ssl/certs et qu'Equifax est là.

Tout ce qui vous manque dans votre configuration Postfix est le CApath: smtp_tls_CApath =/etc/ssl/certs

Ensuite, Postfix sera en mesure de vérifier le certificat de smtp.gmail.com en tant qu’autorité de certification légitime, car il l’a dans le répertoire/etc/ssl/certs.

10
Edmond Baroud

Je pense que votre problème est que vous définissez smtpd_tls_CAfile au lieu de smtp_tls_CAfile.

Vous pouvez utiliser un certificat auto-signé pour votre configuration postfix TLS.

4
Mike Partridge

J'ai la même configuration que toi. Mais en plus de

smtpd_tls_CAfile=/etc/postfix/cacert.pem

J'ai aussi dans le main.cf de mon postfix:

smtp_tls_CAfile=/etc/postfix/cacert.pem

Essayez d'ajouter cette ligne supplémentaire. Vous devrez peut-être l'ajouter dans le cadre de ce bloc:

smtp_tls_CAfile = /etc/postfix/cacert.pem
smtp_tls_cert_file = /etc/postfix/FOO-cert.pem
smtp_tls_key_file = /etc/postfix/FOO-key.pem
smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache
smtp_use_tls = yes
2
David Xia

J'ai eu un problème similaire, que j'ai résolu avec l'aide de this blogpost .

Le remède semblait être que je n'avais besoin que d'un certificat SSL valide (et non d'un certificat auto-signé) et que j'ai concaténé les ensembles StartSSL et CA Equifax.

0
Jonathon Hill