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

Issue 1360633002: Implement Token Binding negotiation TLS extension (Closed)

Created:
5 years, 3 months ago by nharper
Modified:
5 years, 1 month ago
Reviewers:
davidben, Ryan Sleevi, mattm
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@test-server-flags
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Implement Token Binding negotiation TLS extension BUG=467312 Committed: https://crrev.com/736ceda358a1c2b576b41d09a108f2d1774e0e4d Cr-Commit-Position: refs/heads/master@{#358465}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Fix TokenBindingExtension constructor #

Patch Set 4 : Use switch and pref to control token binding instead of finch #

Patch Set 5 : Fix memory leak; fix mac compilation issue #

Patch Set 6 : rebase #

Total comments: 47

Patch Set 7 : respond to comments #

Patch Set 8 : Remove unused TokenBindingExtension member from SSLContext #

Patch Set 9 : rebase #

Patch Set 10 : rebase #

Total comments: 10

Patch Set 11 : fix msvc error #

Total comments: 1

Patch Set 12 : Rip out TB key lookup from SSLClientSocketOpenSSL; fold TokenBindingExtension class into SSLClientS… #

Total comments: 57

Patch Set 13 : address most of davidben's comments #

Patch Set 14 : Remove token binding switch and pref #

Patch Set 15 : rebase #

Patch Set 16 : rebase #

Patch Set 17 : update to latest version of tb nego spec; tweak SSLConfig #

Total comments: 19

Patch Set 18 : respond to comments #

Total comments: 16

Patch Set 19 : nits; move custom ext callback static methods to SSLContext #

Patch Set 20 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+236 lines, -0 lines) Patch
M net/socket/ssl_client_socket_openssl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 chunks +9 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_openssl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10 chunks +156 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +46 lines, -0 lines 0 comments Download
M net/ssl/ssl_config.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 chunks +11 lines, -0 lines 0 comments Download
M net/ssl/ssl_info.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +10 lines, -0 lines 0 comments Download
M net/ssl/ssl_info.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +4 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 42 (3 generated)
nharper
5 years, 3 months ago (2015-09-23 21:12:03 UTC) #2
mattm
https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket.cc File net/socket/ssl_client_socket.cc (right): https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket.cc#newcode153 net/socket/ssl_client_socket.cc:153: UMA_HISTOGRAM_ENUMERATION("DomainBoundCerts.Support", supported, Add a similar histogram for token binding? ...
5 years, 3 months ago (2015-09-24 22:13:13 UTC) #3
davidben
Just did an initial pass over it. https://codereview.chromium.org/1360633002/diff/100001/chrome/browser/net/ssl_config_service_manager_pref.cc File chrome/browser/net/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1360633002/diff/100001/chrome/browser/net/ssl_config_service_manager_pref.cc#newcode225 chrome/browser/net/ssl_config_service_manager_pref.cc:225: default_config.token_binding_params.size() > ...
5 years, 2 months ago (2015-09-25 21:51:50 UTC) #4
mattm
https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc#newcode2297 net/socket/ssl_client_socket_openssl.cc:2297: if (CBS_len(&parameters_list) > 0 || !valid_param) On 2015/09/25 21:51:50, ...
5 years, 2 months ago (2015-09-25 22:01:30 UTC) #5
davidben
https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc#newcode2298 net/socket/ssl_client_socket_openssl.cc:2298: return 0; On 2015/09/25 22:01:30, mattm wrote: > On ...
5 years, 2 months ago (2015-09-25 22:04:25 UTC) #6
nharper
https://codereview.chromium.org/1360633002/diff/100001/chrome/browser/net/ssl_config_service_manager_pref.cc File chrome/browser/net/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1360633002/diff/100001/chrome/browser/net/ssl_config_service_manager_pref.cc#newcode225 chrome/browser/net/ssl_config_service_manager_pref.cc:225: default_config.token_binding_params.size() > 0); On 2015/09/25 21:51:50, David Benjamin wrote: ...
5 years, 2 months ago (2015-09-28 21:43:39 UTC) #7
mattm
https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc#newcode347 net/socket/ssl_client_socket_openssl.cc:347: TokenBindingExtension token_binding_extension_; On 2015/09/28 21:43:39, nharper wrote: > On ...
5 years, 2 months ago (2015-09-28 23:07:26 UTC) #8
nharper
https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/100001/net/socket/ssl_client_socket_openssl.cc#newcode347 net/socket/ssl_client_socket_openssl.cc:347: TokenBindingExtension token_binding_extension_; On 2015/09/28 23:07:25, mattm wrote: > On ...
5 years, 2 months ago (2015-09-28 23:18:33 UTC) #9
nharper
rebase
5 years, 2 months ago (2015-09-30 18:28:59 UTC) #10
nharper
rebase
5 years, 2 months ago (2015-09-30 22:13:56 UTC) #11
davidben
https://codereview.chromium.org/1360633002/diff/100001/net/ssl/ssl_info.h File net/ssl/ssl_info.h (right): https://codereview.chromium.org/1360633002/diff/100001/net/ssl/ssl_info.h#newcode87 net/ssl/ssl_info.h:87: bool token_binding_negotiated; On 2015/09/28 21:43:39, nharper wrote: > On ...
5 years, 2 months ago (2015-10-01 16:15:17 UTC) #12
nharper
https://chromiumcodereview.appspot.com/1360633002/diff/100001/net/ssl/ssl_info.h File net/ssl/ssl_info.h (right): https://chromiumcodereview.appspot.com/1360633002/diff/100001/net/ssl/ssl_info.h#newcode87 net/ssl/ssl_info.h:87: bool token_binding_negotiated; On 2015/10/01 16:15:17, David Benjamin wrote: > ...
5 years, 2 months ago (2015-10-01 19:12:23 UTC) #13
davidben
rsleevi: You've been keeping up with Token Binding far more than I have. Do you ...
5 years, 2 months ago (2015-10-01 19:20:12 UTC) #14
davidben
Since it's hard to tell in the mess of quotedness, there was new text in ...
5 years, 2 months ago (2015-10-01 19:21:25 UTC) #15
nharper
On 2015/10/01 19:21:25, David Benjamin wrote: > Since it's hard to tell in the mess ...
5 years, 2 months ago (2015-10-01 19:34:49 UTC) #16
davidben
On 2015/10/01 19:34:49, nharper wrote: > On 2015/10/01 19:21:25, David Benjamin wrote: > > Since ...
5 years, 2 months ago (2015-10-01 19:40:27 UTC) #17
Ryan Sleevi
On 2015/10/01 19:40:27, David Benjamin wrote: > Yeah, privacy mode was added to deal with ...
5 years, 2 months ago (2015-10-01 21:39:19 UTC) #18
Ryan Sleevi
https://codereview.chromium.org/1360633002/diff/200001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/200001/net/socket/ssl_client_socket_openssl.cc#newcode1211 net/socket/ssl_client_socket_openssl.cc:1211: GotoState(STATE_TOKEN_BINDING_LOOKUP_COMPLETE); Why do we need to do the lookup ...
5 years, 2 months ago (2015-10-01 21:46:16 UTC) #19
nharper
Ryan and I chatted about where TB key lookups should be handled, and agreed that ...
5 years, 2 months ago (2015-10-01 23:07:37 UTC) #20
Ryan Sleevi
On 2015/10/01 23:07:37, nharper wrote: > Ryan and I chatted about where TB key lookups ...
5 years, 2 months ago (2015-10-01 23:17:51 UTC) #21
nharper
I think I've removed from this CL what we discussed. I also refactored away the ...
5 years, 2 months ago (2015-10-02 03:31:27 UTC) #22
nharper
On 2015/10/01 23:17:51, Ryan Sleevi wrote: > (Talked a bit in person) - I'm not ...
5 years, 2 months ago (2015-10-02 19:58:05 UTC) #23
nharper
ping
5 years, 2 months ago (2015-10-14 22:48:40 UTC) #24
davidben
I think this mostly looks good. Main comments are around the pref stuff it and ...
5 years, 2 months ago (2015-10-15 21:52:09 UTC) #25
nharper
Remove token binding switch and pref
5 years, 2 months ago (2015-10-20 22:50:35 UTC) #27
nharper
https://codereview.chromium.org/1360633002/diff/180001/chrome/browser/net/ssl_config_service_manager_pref.cc File chrome/browser/net/ssl_config_service_manager_pref.cc (right): https://codereview.chromium.org/1360633002/diff/180001/chrome/browser/net/ssl_config_service_manager_pref.cc#newcode222 chrome/browser/net/ssl_config_service_manager_pref.cc:222: net::TB_PARAM_ECDSAP256_SHA256); It sounds to me like this should be ...
5 years, 2 months ago (2015-10-20 22:52:19 UTC) #28
nharper
rebase
5 years, 2 months ago (2015-10-21 01:17:29 UTC) #29
nharper
This CL (and the http one, https://codereview.chromium.org/1378613004/) have been updated.
5 years, 1 month ago (2015-10-31 01:39:46 UTC) #30
nharper
https://codereview.chromium.org/1360633002/diff/340001/net/ssl/ssl_config.cc File net/ssl/ssl_config.cc (right): https://codereview.chromium.org/1360633002/diff/340001/net/ssl/ssl_config.cc#newcode38 net/ssl/ssl_config.cc:38: token_binding_params.push_back(TB_PARAM_ECDSAP256); I have 2 new fields in SSLConfig: token_binding_enabled, ...
5 years, 1 month ago (2015-10-31 02:01:23 UTC) #31
davidben
Sorry I forgot about this. I think this looks good. Just a bunch of minor ...
5 years, 1 month ago (2015-11-04 00:40:36 UTC) #32
nharper
https://codereview.chromium.org/1360633002/diff/340001/net/log/net_log_event_type_list.h File net/log/net_log_event_type_list.h (right): https://codereview.chromium.org/1360633002/diff/340001/net/log/net_log_event_type_list.h#newcode483 net/log/net_log_event_type_list.h:483: EVENT_TYPE(SSL_GET_TOKEN_BINDING_KEY) On 2015/11/04 00:40:35, davidben wrote: > Unused? removed. ...
5 years, 1 month ago (2015-11-04 02:28:04 UTC) #33
davidben
Last pass. Sorry, my fault. Most of this I should have noticed in the previous ...
5 years, 1 month ago (2015-11-04 17:40:14 UTC) #34
nharper
nits; move custom ext callback static methods to SSLContext
5 years, 1 month ago (2015-11-04 19:42:41 UTC) #35
nharper
https://codereview.chromium.org/1360633002/diff/340001/net/socket/ssl_client_socket_openssl.cc File net/socket/ssl_client_socket_openssl.cc (right): https://codereview.chromium.org/1360633002/diff/340001/net/socket/ssl_client_socket_openssl.cc#newcode2311 net/socket/ssl_client_socket_openssl.cc:2311: void* add_arg) { On 2015/11/04 17:40:13, davidben wrote: > ...
5 years, 1 month ago (2015-11-04 19:43:19 UTC) #36
nharper
rebase
5 years, 1 month ago (2015-11-06 00:12:12 UTC) #37
davidben
Sorry, I missed that you'd updated the CL somehow. lgtm!
5 years, 1 month ago (2015-11-06 22:59:58 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1360633002/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1360633002/400001
5 years, 1 month ago (2015-11-06 23:02:44 UTC) #40
commit-bot: I haz the power
Committed patchset #20 (id:400001)
5 years, 1 month ago (2015-11-07 00:17:06 UTC) #41
commit-bot: I haz the power
5 years, 1 month ago (2015-11-07 00:18:59 UTC) #42
Message was sent while issue was closed.
Patchset 20 (id:??) landed as
https://crrev.com/736ceda358a1c2b576b41d09a108f2d1774e0e4d
Cr-Commit-Position: refs/heads/master@{#358465}

Powered by Google App Engine
This is Rietveld 408576698