Chromium Code Reviews| Index: net/base/x509_certificate_nss.cc |
| =================================================================== |
| --- net/base/x509_certificate_nss.cc (revision 119153) |
| +++ net/base/x509_certificate_nss.cc (working copy) |
| @@ -194,6 +194,17 @@ |
| } else { |
| verified_chain.push_back(node->cert); |
| } |
| + |
| + // Because of an NSS bug, CERT_PKIXVerifyCert may chain one self-signed |
| + // certificate of a root CA to another self-signed certificate of the |
| + // same root CA. Detect that error and ignore the root CA certificate. |
| + // See https://bugzilla.mozilla.org/show_bug.cgi?id=721288. |
| + if (node->cert->isRoot && root_cert && |
|
wtc
2012/01/26 03:10:23
The isRoot member of the NSS CERTCertificate struc
Ryan Sleevi
2012/01/26 04:36:27
I think I'd be interested in seeing a unit test. I
wtc
2012/01/27 02:54:04
I will add a unit test tomorrow.
|
| + SECITEM_ItemsAreEqual(&node->cert->derSubject, |
| + &root_cert->derSubject)) { |
| + continue; |
| + } |
| + |
| SECAlgorithmID& signature = node->cert->signature; |
| SECOidTag oid_tag = SECOID_FindOIDTag(&signature.algorithm); |
| switch (oid_tag) { |