summaryrefslogtreecommitdiffstats
path: root/net/base/x509_certificate.h
diff options
context:
space:
mode:
authorsnej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-18 22:45:05 +0000
committersnej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-02-18 22:45:05 +0000
commit3e1fc8ea295d450e864b8e156617399f4f2f672f (patch)
tree25cf9b717968f6236d0ce467ac2fc63411ef7867 /net/base/x509_certificate.h
parente5430c9883c5196cf768b4c9998d1e5209ed7606 (diff)
downloadchromium_src-3e1fc8ea295d450e864b8e156617399f4f2f672f.zip
chromium_src-3e1fc8ea295d450e864b8e156617399f4f2f672f.tar.gz
chromium_src-3e1fc8ea295d450e864b8e156617399f4f2f672f.tar.bz2
Client-side SSL cert support for Mac.
This includes sending an existing identity cert, and asking the user which cert to use. Doesn't yet handle SSL renegotiation, or key-gen. BUG=16831 TEST=none Review URL: http://codereview.chromium.org/604067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@39389 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/base/x509_certificate.h')
-rw-r--r--net/base/x509_certificate.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/base/x509_certificate.h b/net/base/x509_certificate.h
index 215489b..b9a3995 100644
--- a/net/base/x509_certificate.h
+++ b/net/base/x509_certificate.h
@@ -224,6 +224,18 @@ class X509Certificate : public base::RefCountedThreadSafe<X509Certificate> {
}
#endif
+#if defined(OS_MACOSX)
+ // Creates a security policy for SSL client certificates.
+ static OSStatus CreateSSLClientPolicy(SecPolicyRef* outPolicy);
+
+ // Adds all available SSL client identity certs to the given vector.
+ static bool GetSSLClientCertificates(
+ std::vector<scoped_refptr<X509Certificate> >* certs);
+
+ // Creates the chain of certs to use for this client identity cert.
+ CFArrayRef CreateClientCertificateChain();
+#endif
+
// Verifies the certificate against the given hostname. Returns OK if
// successful or an error code upon failure.
//