Ok, so I have tried:

cat mail.domain.com.ecdsa.crt COMODOECCDomainValidationSecureServerCA.crt COMODOECCAddTrustCA.crt /support/certs/sha256/COMODORSADomainValidationSecureServerCA.crt /support/certs/sha256/COMODORSAAddTrustCA.crt > mail.domain.com.chained.postfix.ecdsa_2.crt

cat mail.domain.com.sha256.crt COMODORSADomainValidationSecureServerCA.crt COMODORSAAddTrustCA.crt /support/certs/ecdsa/COMODOECCDomainValidationSecureServerCA.crt /support/certs/ecdsa/COMODOECCAddTrustCA.crt > mail.domain.com.chained.postfix.sha256_2.crt

And this seems to have done the trick! Running:

openssl s_client -connect mail.domain.com:25 -crlf -starttls smtp -CAfile /usr/local/openssl/certs/AddTrustExternalCARoot.crt

returns:

Verify return code: 0 (ok)

The output looks as follows now:

CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = PositiveSSL, CN = mail.domain.com
verify return:1
---
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=mail.domain.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Domain Validation Secure Server CA i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO ECC Certification Authority i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root 3 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority 4 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
---

Unfortunately I don't know of any email servers I can email as a test to see if the ECDSA cert is working 100%.

But I think this issue is resolved?

On 12/05/2014 21:16, Viktor Dukhovni wrote:
On Mon, May 12, 2014 at 08:44:00PM +0100, SW wrote:

<quote author="Viktor Dukhovni">
A work-around is to list all the relevant CAs in the chain files
for both algorithms.  The patches that resolve this for 1.0.2 are
attached for educational purposes only.  They are unlikely to apply
to 1.0.1 or earlier in isolation, and in any case would be entirely
untested with 1.0.1 as a base.
</quote>

So do I need to create a chain cert as follows for each cert (RSA and
ECDSA):

cat mail.domain.com.ecdsa.crt COMODOECCDomainValidationSecureServerCA.crt
COMODOECCAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt> mail.domain.com.chained.postfix.ecdsa.crt

cat mail.domain.com.sha256.crt COMODOECCDomainValidationSecureServerCA.crt
COMODOECCAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt
COMODORSAAddTrustCA.crt> mail.domain.com.chained.postfix.sha256.crt

Would this do the trick?
(Why not just try it, first?)

Basically, each chain starts with the leaf cert, and then includes
all the issuers of either for both.  The order will no longer be
a strict sequence of subject followed by issuer, but this requirement
is generally not enforced.

When 1.0.2 is finally released, you can return to a saner configuration.


Reply via email to