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

Side by Side Diff: net/socket/ssl_client_socket_unittest.cc

Issue 1360633002: Implement Token Binding negotiation TLS extension (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@test-server-flags
Patch Set: rebase 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/socket/ssl_client_socket.h" 5 #include "net/socket/ssl_client_socket.h"
6 6
7 #include "base/callback_helpers.h" 7 #include "base/callback_helpers.h"
8 #include "base/location.h" 8 #include "base/location.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/run_loop.h" 10 #include "base/run_loop.h"
(...skipping 3140 matching lines...) Expand 10 before | Expand all | Expand 10 after
3151 3151
3152 scoped_ptr<SSLClientSocket> sock(CreateSSLClientSocket( 3152 scoped_ptr<SSLClientSocket> sock(CreateSSLClientSocket(
3153 transport.Pass(), test_server.host_port_pair(), config)); 3153 transport.Pass(), test_server.host_port_pair(), config));
3154 3154
3155 rv = sock->Connect(callback.callback()); 3155 rv = sock->Connect(callback.callback());
3156 rv = callback.GetResult(rv); 3156 rv = callback.GetResult(rv);
3157 3157
3158 EXPECT_EQ(ERR_SSL_VERSION_OR_CIPHER_MISMATCH, rv); 3158 EXPECT_EQ(ERR_SSL_VERSION_OR_CIPHER_MISMATCH, rv);
3159 } 3159 }
3160 3160
3161 TEST_F(SSLClientSocketChannelIDTest, TokenBindingEnabled) {
3162 SpawnedTestServer::SSLOptions ssl_options;
3163 ssl_options.supported_token_binding_params.push_back(
3164 TB_PARAM_ECDSAP256_SHA256);
3165 ssl_options.disable_channel_id = true;
3166 ASSERT_TRUE(ConnectToTestServer(ssl_options));
3167
3168 EnableChannelID();
3169 SSLConfig ssl_config;
3170 ssl_config.token_binding_params.push_back(TB_PARAM_ECDSAP256_SHA256);
3171 ssl_config.channel_id_enabled = true;
3172
3173 int rv;
3174 ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv));
3175 EXPECT_EQ(OK, rv);
3176 SSLInfo info;
3177 EXPECT_TRUE(sock_->GetSSLInfo(&info));
3178 EXPECT_TRUE(info.token_binding_negotiated);
3179 }
3180
3181 TEST_F(SSLClientSocketChannelIDTest, TokenBindingFailsWithEmsDisabled) {
3182 SpawnedTestServer::SSLOptions ssl_options;
3183 ssl_options.supported_token_binding_params.push_back(
3184 TB_PARAM_ECDSAP256_SHA256);
3185 ssl_options.disable_extended_master_secret = true;
3186 ssl_options.disable_channel_id = true;
3187 ASSERT_TRUE(ConnectToTestServer(ssl_options));
3188
3189 EnableChannelID();
3190 SSLConfig ssl_config;
3191 ssl_config.token_binding_params.push_back(TB_PARAM_ECDSAP256_SHA256);
3192 ssl_config.channel_id_enabled = true;
3193
3194 int rv;
3195 ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv));
3196 EXPECT_EQ(ERR_SSL_PROTOCOL_ERROR, rv);
3197 }
3198
3161 TEST_F(SSLClientSocketFalseStartTest, FalseStartEnabled) { 3199 TEST_F(SSLClientSocketFalseStartTest, FalseStartEnabled) {
3162 if (!SupportsAESGCM()) { 3200 if (!SupportsAESGCM()) {
3163 LOG(WARNING) << "Skipping test because AES-GCM is not supported."; 3201 LOG(WARNING) << "Skipping test because AES-GCM is not supported.";
3164 return; 3202 return;
3165 } 3203 }
3166 3204
3167 // False Start requires NPN/ALPN, ECDHE, and an AEAD. 3205 // False Start requires NPN/ALPN, ECDHE, and an AEAD.
3168 SpawnedTestServer::SSLOptions server_options; 3206 SpawnedTestServer::SSLOptions server_options;
3169 server_options.key_exchanges = 3207 server_options.key_exchanges =
3170 SpawnedTestServer::SSLOptions::KEY_EXCHANGE_ECDHE_RSA; 3208 SpawnedTestServer::SSLOptions::KEY_EXCHANGE_ECDHE_RSA;
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
3474 ssl_config.channel_id_enabled = true; 3512 ssl_config.channel_id_enabled = true;
3475 3513
3476 int rv; 3514 int rv;
3477 ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv)); 3515 ASSERT_TRUE(CreateAndConnectSSLClientSocket(ssl_config, &rv));
3478 3516
3479 EXPECT_EQ(ERR_UNEXPECTED, rv); 3517 EXPECT_EQ(ERR_UNEXPECTED, rv);
3480 EXPECT_FALSE(sock_->IsConnected()); 3518 EXPECT_FALSE(sock_->IsConnected());
3481 } 3519 }
3482 3520
3483 } // namespace net 3521 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698