OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |