summaryrefslogtreecommitdiffstats
path: root/chrome/third_party
diff options
context:
space:
mode:
authormattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-29 19:06:36 +0000
committermattm@chromium.org <mattm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-03-29 19:06:36 +0000
commitdc993ee0b2122b637bf1b5a9a980e40c975aa901 (patch)
treef61d5e7f8777f45807381b71442c8011ffebf1d6 /chrome/third_party
parent3de5846291ff70ec536c999e2cd3611743ab9eff (diff)
downloadchromium_src-dc993ee0b2122b637bf1b5a9a980e40c975aa901.zip
chromium_src-dc993ee0b2122b637bf1b5a9a980e40c975aa901.tar.gz
chromium_src-dc993ee0b2122b637bf1b5a9a980e40c975aa901.tar.bz2
nss: Fix GetCertType returning SERVER_CERT for explicitly distrusted CA certs.
(Based on wtc's patch from crbug.com/96654.) BUG=96654 TEST=X509CertificateModelTest.GetTypeCA Review URL: https://chromiumcodereview.appspot.com/9875010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129662 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/third_party')
-rw-r--r--chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp b/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
index 2f9a4e9..56565fc 100644
--- a/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
+++ b/chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp
@@ -1056,12 +1056,10 @@ net::CertType GetCertType(CERTCertificate *cert) {
nsNSSCertTrust trust(cert->trust);
if (cert->nickname && trust.HasAnyUser())
return net::USER_CERT;
- if (trust.HasAnyCA())
+ if (trust.HasAnyCA() || CERT_IsCACert(cert, NULL))
return net::CA_CERT;
if (trust.HasPeer(PR_TRUE, PR_FALSE, PR_FALSE))
return net::SERVER_CERT;
- if (CERT_IsCACert(cert, NULL))
- return net::CA_CERT;
return net::UNKNOWN_CERT;
}