Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp

Issue 9875010: nss: Fix GetCertType returning SERVER_CERT for explicitly distrusted CA certs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review changes, add server testcase Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* ***** BEGIN LICENSE BLOCK ***** 1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3 * 3 *
4 * The contents of this file are subject to the Mozilla Public License Version 4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with 5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at 6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/ 7 * http://www.mozilla.org/MPL/
8 * 8 *
9 * Software distributed under the License is distributed on an "AS IS" basis, 9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 } 1049 }
1050 SECKEY_DestroyPublicKey(key); 1050 SECKEY_DestroyPublicKey(key);
1051 } 1051 }
1052 return rv; 1052 return rv;
1053 } 1053 }
1054 1054
1055 net::CertType GetCertType(CERTCertificate *cert) { 1055 net::CertType GetCertType(CERTCertificate *cert) {
1056 nsNSSCertTrust trust(cert->trust); 1056 nsNSSCertTrust trust(cert->trust);
1057 if (cert->nickname && trust.HasAnyUser()) 1057 if (cert->nickname && trust.HasAnyUser())
1058 return net::USER_CERT; 1058 return net::USER_CERT;
1059 if (trust.HasAnyCA()) 1059 if (trust.HasAnyCA() || CERT_IsCACert(cert, NULL))
1060 return net::CA_CERT; 1060 return net::CA_CERT;
1061 if (trust.HasPeer(PR_TRUE, PR_FALSE, PR_FALSE)) 1061 if (trust.HasPeer(PR_TRUE, PR_FALSE, PR_FALSE))
1062 return net::SERVER_CERT; 1062 return net::SERVER_CERT;
1063 if (CERT_IsCACert(cert, NULL))
1064 return net::CA_CERT;
1065 return net::UNKNOWN_CERT; 1063 return net::UNKNOWN_CERT;
1066 } 1064 }
1067 1065
1068 } // namespace mozilla_security_manager 1066 } // namespace mozilla_security_manager
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698