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

Unified Diff: net/socket/ssl_client_socket_openssl.cc

Issue 1366253005: Expose TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 on the deprecated cipher fallback. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/socket/ssl_client_socket_openssl.cc
diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc
index 9d7289a04ff8650466e1248d5ccc19be5c73db42..9fc6454ea19e5579d011cc5d2a84310777343b33 100644
--- a/net/socket/ssl_client_socket_openssl.cc
+++ b/net/socket/ssl_client_socket_openssl.cc
@@ -883,10 +883,10 @@ int SSLClientSocketOpenSSL::Init() {
STACK_OF(SSL_CIPHER)* ciphers = SSL_get_ciphers(ssl_);
DCHECK(ciphers);
// See SSLConfig::disabled_cipher_suites for description of the suites
- // disabled by default. Note that !SHA256 and !SHA384 only remove HMAC-SHA256
+ // disabled by default. Note that SHA256 and SHA384 only select HMAC-SHA256
// and HMAC-SHA384 cipher suites, not GCM cipher suites with SHA256 or SHA384
// as the handshake hash.
- std::string command("DEFAULT:!SHA256:!SHA384:!AESGCM+AES256:!aPSK");
+ std::string command("DEFAULT:!SHA256:-SHA384:!AESGCM+AES256:!aPSK");
// Walk through all the installed ciphers, seeing if any need to be
// appended to the cipher removal |command|.
for (size_t i = 0; i < sk_SSL_CIPHER_num(ciphers); ++i) {
@@ -911,8 +911,15 @@ int SSLClientSocketOpenSSL::Init() {
}
}
- if (!ssl_config_.enable_deprecated_cipher_suites)
+ if (!ssl_config_.enable_deprecated_cipher_suites) {
command.append(":!RC4");
+ } else {
+ // Add TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 under a fallback. This is
+ // believed to work around a bug in some out-of-date Microsoft IIS servers
+ // which cause them to require the version downgrade
+ // (https://crbug.com/433406).
+ command.append(":ECDHE-RSA-AES256-SHA384");
+ }
// Disable ECDSA cipher suites on platforms that do not support ECDSA
// signed certificates, as servers may use the presence of such
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698