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

Unified Diff: net/base/x509_certificate.cc

Issue 11458012: SSLCertRequestInfo: Add |valid_cas| and |valid_key_types| (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: trivial fix for Linux build Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: net/base/x509_certificate.cc
diff --git a/net/base/x509_certificate.cc b/net/base/x509_certificate.cc
index 29b11a8cdfccfd83e616c1190bfad5b09cd95581..b49fd2596a97814faca359e64c916303eb1d50f1 100644
--- a/net/base/x509_certificate.cc
+++ b/net/base/x509_certificate.cc
@@ -25,6 +25,8 @@
#include "googleurl/src/url_canon_ip.h"
#include "net/base/net_util.h"
#include "net/base/pem_tokenizer.h"
+#include "net/base/ssl_cert_request_info.h"
+#include "net/base/x509_cert_types.h"
namespace net {
@@ -698,4 +700,22 @@ X509Certificate::~X509Certificate() {
}
}
+#if !defined(USE_OPENSSL)
+bool X509Certificate::IsValidClientCertificate(
+ const SSLCertRequestInfo& cert_info) {
+ DCHECK(cert_info.no_client_certs == false);
+
+ // Check that the current certificate matches the critera supplied in
+ // a CertificateRequest message.
+ const std::vector<scoped_refptr<X509Certificate> >& client_certs =
+ cert_info.client_certs;
+ for (size_t i = 0; i < client_certs.size(); ++i) {
+ if (Equals(client_certs[i])) {
+ return true;
+ }
+ }
+ return false;
+}
+#endif // !USE_OPENSSL
+
} // namespace net

Powered by Google App Engine
This is Rietveld 408576698