summaryrefslogtreecommitdiffstats
path: root/net/socket
diff options
context:
space:
mode:
authorwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-29 00:06:36 +0000
committerwtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-29 00:06:36 +0000
commita48aa500c5c4fe3ee1d23287d33f12edf756032b (patch)
tree3588c5cd86f38e182e0d0ad48ec396d9bebffcaa /net/socket
parent7fcb858abdbc3c5ed1614e587e8630f5c4c97c35 (diff)
downloadchromium_src-a48aa500c5c4fe3ee1d23287d33f12edf756032b.zip
chromium_src-a48aa500c5c4fe3ee1d23287d33f12edf756032b.tar.gz
chromium_src-a48aa500c5c4fe3ee1d23287d33f12edf756032b.tar.bz2
Pass the SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT flag
to AcquireCredentialsHandle to cause the TLS certificate status request extension (commonly known as OCSP stapling) to be sent on Windows Vista or later. I don't know if this is all we need to do to enable OCSP stapling though. R=hawk BUG=26013 TEST=none Review URL: http://codereview.chromium.org/329042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30407 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/socket')
-rw-r--r--net/socket/ssl_client_socket_win.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/net/socket/ssl_client_socket_win.cc b/net/socket/ssl_client_socket_win.cc
index 40c8ede..c0761b2 100644
--- a/net/socket/ssl_client_socket_win.cc
+++ b/net/socket/ssl_client_socket_win.cc
@@ -192,13 +192,22 @@ void CredHandleTable::InitializeHandle(CredHandle* handle,
// and expired certificate errors. There are only flags to ignore the
// name mismatch and unable-to-check-revocation errors.
//
+ // We specify SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT to cause the TLS
+ // certificate status request extension (commonly known as OCSP stapling)
+ // to be sent on Vista or later. This flag matches the
+ // CERT_CHAIN_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT flag that we pass to the
+ // CertGetCertificateChain calls. Note: we specify this flag even when
+ // revocation checking is disabled to avoid doubling the number of
+ // credentials handles we need to acquire.
+ //
// TODO(wtc): Look into undocumented or poorly documented flags:
// SCH_CRED_RESTRICTED_ROOTS
// SCH_CRED_REVOCATION_CHECK_CACHE_ONLY
// SCH_CRED_CACHE_ONLY_URL_RETRIEVAL
// SCH_CRED_MEMORY_STORE_CERT
schannel_cred.dwFlags |= SCH_CRED_NO_DEFAULT_CREDS |
- SCH_CRED_MANUAL_CRED_VALIDATION;
+ SCH_CRED_MANUAL_CRED_VALIDATION |
+ SCH_CRED_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT;
TimeStamp expiry;
SECURITY_STATUS status;