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.) How reproducible: always 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. Actual results: Apr 9 16:54:00 arbol postfix/smtpd[1611]: setting up TLS connection from mail-pb0-f70.google.com[209.85.160.70] Apr 9 16:54:00 arbol postfix/smtpd[1611]: certificate verification failed for mail-pb0-f70.google.com[209.85.160.70]: untrusted issuer /C=US/O=Equifax/OU=Equifax Secure Certificate Authority Apr 9 16:54:00 arbol postfix/smtpd[1611]: mail-pb0-f70.google.com[209.85.160.70]: 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 Expected results: The CA should have been trusted if the second-level CA was correctly checked. Additional info: 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.