Red Hat Bugzilla – Bug 811049
openssl doesn't recognize google's CA.
Last modified: 2012-05-09 10:29:11 EDT
Description of problem:
openssl doesn't recognize google's CA. Perhaps a problem with 2nd level CA's.
Version-Release number of selected component (if applicable):
openssl.x86_64 1.0.0h-1.fc16 @updates-testing
(previous versions did this too. I updated in hopes that it was fixed in -testing.)
Steps to Reproduce:
1. Install postfix and wait for email from gmail.com to come in.
2. look at /var/log/maillog and notice the gripes about the CA not being recognized.
Apr 9 16:54:00 arbol postfix/smtpd: setting up TLS connection from mail-pb0-f70.google.com[184.108.40.206]
Apr 9 16:54:00 arbol postfix/smtpd: certificate verification failed for mail-pb0-f70.google.com[220.127.116.11]: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority
Apr 9 16:54:00 arbol postfix/smtpd: mail-pb0-f70.google.com[18.104.22.168]: Untrusted: subject_CN=smtp.gmail.com, issuer=Google Internet Authority, fingerprint=F3:92:AE:B4:28:FE:64:03:6F:E1:55:ED:71:9E:5F:F6:88:90:5A:57
The CA should have been trusted if the second-level CA was correctly checked.
The google CA is relatively unique in that it is a CA that has its CA certificate signed by a top-level CA instead of the more usual case where the top-level CA signs actual host/service certificates.
Created attachment 576349 [details]
openssl s_client -connect gmail.com:443
notice that google's CA is a second-level CA signed by Thawte
I am sorry but I do not see anything wrong with the way openssl handles second-level CAs.
Your openssl s_client testcase is connecting to a wrong host anyway. The correct one is:
openssl s_client -connect smtp.gmail.com:465
And its output correctly indicates that the verification of the certificate passed successfully. I suppose you have something wrong setup in the postfix in regards to the CA certificates.
It may be a bug in postfix then. Thanks for changing the component above.
What's your /etc/postfix/main.cf TLS settings? I guess you need there something like:
smtpd_tls_CAfile = /etc/pki/tls/cert.pem
oops. operator error. I thought I'd used the big bundle from /etc/pki/tls/certs/ca-bundle.crt , but it appears not. I'd referenced a file that only had my personal CA in it. Sorry for the noise.
Thanks for info, closing.