summaryrefslogtreecommitdiffstats
path: root/net/base/ssl_cert_request_info.h
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-12 21:45:11 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-06-12 21:45:11 +0000
commit0b45559b42825a157d3f468e1a5ee102cc67d9a8 (patch)
tree00d25404d9803f5e905eab058cd175dca9fb68e0 /net/base/ssl_cert_request_info.h
parent37a24e0d9e75a916c13900cf34d7c6b54acc2001 (diff)
downloadchromium_src-0b45559b42825a157d3f468e1a5ee102cc67d9a8.zip
chromium_src-0b45559b42825a157d3f468e1a5ee102cc67d9a8.tar.gz
chromium_src-0b45559b42825a157d3f468e1a5ee102cc67d9a8.tar.bz2
Specify new methods for supporting SSL client authentication.
See the changes to url_request.h and ssl_cert_request_info.h. They are similar to the methods for handling SSL certificate errors and HTTP authentication. The handling of servers that request but don't require SSL client authentication is reimplemented using the new methods. R=rvargas,eroman BUG=http://crbug.com/318 TEST=none Review URL: http://codereview.chromium.org/118039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18322 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/ssl_cert_request_info.h')
-rw-r--r--net/base/ssl_cert_request_info.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/net/base/ssl_cert_request_info.h b/net/base/ssl_cert_request_info.h
new file mode 100644
index 0000000..2529d87
--- /dev/null
+++ b/net/base/ssl_cert_request_info.h
@@ -0,0 +1,37 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef NET_BASE_SSL_CERT_REQUEST_INFO_H_
+#define NET_BASE_SSL_CERT_REQUEST_INFO_H_
+
+#include <string>
+#include <vector>
+
+#include "base/ref_counted.h"
+
+namespace net {
+
+class X509Certificate;
+
+// The SSLCertRequestInfo class contains the info that allows a user to
+// select a certificate to send to the SSL server for client authentication.
+class SSLCertRequestInfo
+ : public base::RefCountedThreadSafe<SSLCertRequestInfo> {
+ public:
+ // The host and port of the SSL server that requested client authentication.
+ std::string host_and_port;
+
+ // A list of client certificates that match the server's criteria in the
+ // SSL CertificateRequest message. In TLS 1.0, the CertificateRequest
+ // message is defined as:
+ // struct {
+ // ClientCertificateType certificate_types<1..2^8-1>;
+ // DistinguishedName certificate_authorities<3..2^16-1>;
+ // } CertificateRequest;
+ std::vector<scoped_refptr<X509Certificate> > client_certs;
+};
+
+} // namespace net
+
+#endif // NET_BASE_SSL_CERT_REQUEST_INFO_H_