On Fri, Apr 05, 2013 at 11:06:16AM -0400, Peter L. Berghold wrote:

> On Fri, Apr 05, 2013 at 10:57:42AM -0400, Vitaly Tskhovrebov wrote:
> >    Include intermediary certs in your chain.
>
> I think I have... what I did was get their ca.cert via a wget and then I 
> manually downloaded their Class 1 Intermediate Server CA and their 
> Class 2 Intermediate Server CA and added those to the bundle file.
> 
> Maybe I have to grab Class3 and Extended Validation as well? 
> 
> I also wonder about the client intermediate certs but am doubtful I 
> need those as well. 

    http://www.postfix.org/TLS_README.html#server_cert_key

The right place to put intermediate certificates is in the server
certificate file.  Not just any random collection of such certificates,
but the particular ones that issued your server certificate.

    smtpd.pem:
        ---BEGIN CERTIFICATE---
        base-64 line-noise for your certificate "S"
        ---END CERTIFICATE---
        ---BEGIN CERTIFICATE---
        base-64 line-noise for the issuing "I1" of your server certificate "S"
        ---END CERTIFICATE---
        ---BEGIN CERTIFICATE---
        base-64 line-noise for the issuing "I2" of CA certificate "I1"
        ---END CERTIFICATE---
        ...
        ---BEGIN CERTIFICATE---
        base-64 line-noise for the issuing "I<N>" of CA certificate "I<N-1>"
        ---END CERTIFICATE---

The certificate I<N> should either be a root CA, or an immediate
child of a root CA.  With RFC 6698 (DANE TLSA) if you some day want
to publish the digest of your preferred root CA via DNS, you must
include the root CA in your trust chain.  Otherwise, with legacy
public CA public, the verifier is expected to already have the root
CA certificate in hand.

-- 
        Viktor.

Reply via email to