web-dev-qa-db-ja.com

Postfix + Gmail。証明書の検証に失敗しました

Gmail経由でメールを送信するようにシステムを設定しました。

電子メールを送信できる限りシステムは動作しますが、安全な証明書に関するエラーが表示されます。

これは、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)

私はこの問題をグーグルで調べて、/ etc/postfixディレクトリのcacert.pemというファイルを更新することで問題を解決できる他の人を見つけました。

Main.cfには、次の行があります(とりわけ)。

smtpd_tls_CAfile=/etc/postfix/cacert.pem

私はこのファイルを持っています:

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

このファイルにコマンドを追加しました:

# 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

1行目で十分で、2行目(証明書)は古い(Googleで使用されていない)証明書です。

他に何を変更できるのかわからないし、他に何を検索するのか、どのログファイルをチェックするのかわからない。

ヒントをいただければ幸いです。

7
BWi

同じ問題が発生し、「postconf | grep smtp | grep CA」を発行したとき、すべての変数が空でした。smtp_tls_CAfile= smtp_tls_CApath = smtpd_tls_CAfile = smtpd_tls_CApath =

修正方法は次のとおりです。

Ubuntuのインストールにより、インターネット上の既知のすべてのCAを含むCAパスが作成されたと想定しています。/etc/ssl/certs、およびEquifaxがあります。

Postfix設定で不足しているのは、CApath:smtp_tls_CApath =/etc/ssl/certs

その後、Postfixは/ etc/ssl/certsディレクトリにあるため、正当なCAとしてsmtp.gmail.comの証明書を検証できます。

10
Edmond Baroud

問題は、smtpd_tls_CAfileではなくsmtp_tls_CAfileを設定していることだと思います。

Postfix TLS構成に自己署名証明書を使用できます。

4
Mike Partridge

私はあなたと同じ構成を持っています。しかし、それに加えて

smtpd_tls_CAfile=/etc/postfix/cacert.pem

後置のmain.cfも持っています:

smtp_tls_CAfile=/etc/postfix/cacert.pem

この余分な行を追加してみてください。このブロックの一部として追加する必要がある場合があります。

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

this blogpost の助けを借りて修正した同様の問題がありました。

解決策は、有効なSSL証明書(自己署名証明書ではなく)が必要なだけで、StartSSLとEquifax CAバンドルを連結したようです。

0
Jonathon Hill