diff options
author | snej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-18 22:45:05 +0000 |
---|---|---|
committer | snej@chromium.org <snej@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-18 22:45:05 +0000 |
commit | 3e1fc8ea295d450e864b8e156617399f4f2f672f (patch) | |
tree | 25cf9b717968f6236d0ce467ac2fc63411ef7867 /net/base/x509_certificate.h | |
parent | e5430c9883c5196cf768b4c9998d1e5209ed7606 (diff) | |
download | chromium_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.h | 12 |
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. // |