please stop providing root CAs in https certificate chain
Hi,
the TLS stack on the launchpad.net webserver is not behaving completely correctly. The certificate chain currently provided is as follow:
Certificate chain
0 s:/OU=Domain Control Validated/
i:/C=
1 s:/C=US/
i:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
2 s:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
i:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://<email address hidden>
3 s:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://<email address hidden>
i:/L=ValiCert Validation Network/O=ValiCert, Inc./OU=ValiCert Class 2 Policy Validation Authority/CN=http://<email address hidden>
There are two issues here, which are actually entangled:
- the server is not supposed to include the root CA in the certification chain, since the final validation step should be done against the included certificates. In that case, that'd be the ValiCert certificate. But actually the ValiCert root CA is beeing removed from NSS anyway since it's a 1024b root, and ca-certificates in Debian already removed it, so the validation fails
- the Go Daddy Class 2 Certification Authority is actually a root CA by itself, which is signed by another CA. NSS doesn't seem to actually care with that and will stop at Go Daddy CA if Valicert is not present, but openssl will go through the whole certificate chain
So, best fix seems to remove both Go Daddy Class 2 Certification Authority and ValiCert Class 2 Policy Validation certificates from the certificate chain. That should work fine on both NSS and openssl.
Question information
- Language:
- English Edit question
- Status:
- Solved
- Assignee:
- No assignee Edit question
- Solved by:
- Yves-Alexis Perez
- Solved:
- Last query:
- Last reply: