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

Issue 547603002: Certificate Transparency: Code for unpacking EV cert hashes whitelist (Closed)

Created:
6 years, 3 months ago by Eran Messeri
Modified:
6 years, 1 month ago
CC:
chromium-reviews, cbentzel+watch_chromium.org, asvitkine+watch_chromium.org, Dmitry Lomov (no reviews), waffles, Ben Laurie (Chromium)
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Certificate Transparency: Code for unpacking EV cert hashes whitelist Re-submission of https://codereview.chromium.org/462543002/ (note that the Fingerprint256 changes have been broken off to a separate change). Note for the build cop: Please attempt to contact me if there's a need to roll back. BUG=339128 Committed: https://crrev.com/efbd3137115a35c938a0cb8fa54d7c4b33403afb Cr-Commit-Position: refs/heads/master@{#301642}

Patch Set 1 #

Patch Set 2 : Windows compilation fixes. #

Patch Set 3 : Adding call to GetLastError #

Patch Set 4 : Not emitting histogram entry if fingerprinting failed. #

Patch Set 5 : Adding TODO for Windows Vista issues #

Patch Set 6 : Correctly fingerprint cert on Vista, XP #

Total comments: 18

Patch Set 7 : Created a class for the EV whitelist, enabled in the component updater #

Patch Set 8 : Unit-test fixes. #

Patch Set 9 : Merging with head (resolving histograms.xml conflicts) #

Patch Set 10 : Minor documentation fix. #

Patch Set 11 : Adding missing EV initialization to all tests in url_request #

Total comments: 26

Patch Set 12 : Avoiding globals in favour of passing the SSLConfigService around #

Total comments: 22

Patch Set 13 : Switching to static methods on SSLConfigService #

Patch Set 14 : Catching up with base/files change on master #

Total comments: 36

Patch Set 15 : Addressing review comments #

Patch Set 16 : Attempting to address ambiguity in c'tor selection #

Total comments: 25

Patch Set 17 : Addressing review comments. #

Total comments: 4

Patch Set 18 : quic verifier, storing struct in the vector #

Patch Set 19 : Using uint64_t rather than an array in the whitelist vector #

Total comments: 6

Patch Set 20 : Addressing final comments #

Patch Set 21 : Removing unnecessary const #

Unified diffs Side-by-side diffs Delta from patch set Stats (+725 lines, -18 lines) Patch
M chrome/browser/component_updater/ev_whitelist_component_installer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -8 lines 0 comments Download
A chrome/browser/net/bit_stream_reader.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +58 lines, -0 lines 0 comments Download
A chrome/browser/net/bit_stream_reader.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +63 lines, -0 lines 0 comments Download
A chrome/browser/net/bit_stream_reader_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +95 lines, -0 lines 0 comments Download
A chrome/browser/net/packed_ct_ev_whitelist.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +85 lines, -0 lines 0 comments Download
A chrome/browser/net/packed_ct_ev_whitelist.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +138 lines, -0 lines 0 comments Download
A chrome/browser/net/packed_ct_ev_whitelist_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +149 lines, -0 lines 0 comments Download
M chrome/chrome_browser.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +4 lines, -0 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +2 lines, -0 lines 0 comments Download
A net/cert/ct_ev_whitelist.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +40 lines, -0 lines 0 comments Download
M net/net.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M net/quic/crypto/proof_verifier_chromium.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +13 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_nss.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +16 lines, -1 line 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 2 chunks +16 lines, -0 lines 0 comments Download
M net/ssl/ssl_config_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +6 lines, -0 lines 0 comments Download
M net/ssl/ssl_config_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +27 lines, -9 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 42 (6 generated)
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eranm@chromium.org/547603002/40001
6 years, 3 months ago (2014-09-05 13:38:20 UTC) #2
commit-bot: I haz the power
No LGTM from a valid reviewer yet. Only full committers are accepted. Even if an ...
6 years, 3 months ago (2014-09-05 13:38:22 UTC) #4
Eran Messeri
Please review this re-submission of https://codereview.chromium.org/462543002/. Ryan - Wan-Teh reviewed the previous issue and approved ...
6 years, 3 months ago (2014-09-08 13:00:23 UTC) #6
Eran Messeri
On 2014/09/08 13:00:23, Eran wrote: > Please review this re-submission of https://codereview.chromium.org/462543002/. > Ryan - ...
6 years, 3 months ago (2014-09-08 14:52:14 UTC) #7
Mark P
histograms.xml lgtm
6 years, 3 months ago (2014-09-08 18:05:28 UTC) #8
Ryan Sleevi
https://codereview.chromium.org/547603002/diff/100001/net/cert/ct_ev_whitelist.h File net/cert/ct_ev_whitelist.h (right): https://codereview.chromium.org/547603002/diff/100001/net/cert/ct_ev_whitelist.h#newcode24 net/cert/ct_ev_whitelist.h:24: // whitelist in a blocking thread. First glance: This ...
6 years, 3 months ago (2014-09-08 19:48:01 UTC) #9
Eran Messeri
Sorin - Added you as reviewer for the component_updater change (which essentially enables using the ...
6 years, 3 months ago (2014-09-10 12:42:25 UTC) #11
Ryan Sleevi
Apologies for continuing to push back on design, and for the high latency in my ...
6 years, 3 months ago (2014-09-11 23:44:39 UTC) #12
Sorin Jianu
lgtm component updater lgtm. Thank you! https://codereview.chromium.org/547603002/diff/200001/chrome/browser/component_updater/ev_whitelist_component_installer.cc File chrome/browser/component_updater/ev_whitelist_component_installer.cc (right): https://codereview.chromium.org/547603002/diff/200001/chrome/browser/component_updater/ev_whitelist_component_installer.cc#newcode72 chrome/browser/component_updater/ev_whitelist_component_installer.cc:72: FROM_HERE, I think ...
6 years, 3 months ago (2014-09-12 19:46:55 UTC) #13
Eran Messeri
Ryan, please take another look - the code now avoids global variables. There are still ...
6 years, 2 months ago (2014-10-01 16:08:36 UTC) #14
Sorin Jianu
Thank you Eran! https://codereview.chromium.org/547603002/diff/220001/chrome/browser/chrome_browser_main.cc File chrome/browser/chrome_browser_main.cc (right): https://codereview.chromium.org/547603002/diff/220001/chrome/browser/chrome_browser_main.cc#newcode393 chrome/browser/chrome_browser_main.cc:393: void RegisterComponentsForUpdate(net::SSLConfigService* ssl_config_service) { Eran, I ...
6 years, 2 months ago (2014-10-01 18:50:03 UTC) #15
Ryan Sleevi
Adding haavard from Opera so that he can comment more on Opera's interest (or lack) ...
6 years, 2 months ago (2014-10-01 20:15:43 UTC) #17
haavardm
On 2014/10/01 20:15:43, Ryan Sleevi wrote: > Adding haavard from Opera so that he can ...
6 years, 2 months ago (2014-10-02 20:56:17 UTC) #18
haavardm
On 2014/10/01 20:15:43, Ryan Sleevi wrote: > Adding haavard from Opera so that he can ...
6 years, 2 months ago (2014-10-02 20:56:19 UTC) #19
Eran Messeri
Quick update regarding the use of set vs bsearch: I've benchmarked and using bsearch to ...
6 years, 2 months ago (2014-10-02 21:07:11 UTC) #20
Eran Messeri
Ryan, Sorin, PTAL. As Ryan suggested I'm now storing the EV certs whitelist in a ...
6 years, 2 months ago (2014-10-03 12:00:12 UTC) #21
haavardm
On 2014/10/01 20:15:43, Ryan Sleevi wrote: > Adding haavard from Opera so that he can ...
6 years, 2 months ago (2014-10-06 11:42:59 UTC) #22
Eran Messeri
On 2014/10/06 11:42:59, haavardm wrote: > On 2014/10/01 20:15:43, Ryan Sleevi wrote: > > Adding ...
6 years, 2 months ago (2014-10-06 12:32:04 UTC) #23
haavardm
On 2014/10/06 12:32:04, Eran wrote: > On 2014/10/06 11:42:59, haavardm wrote: > > On 2014/10/01 ...
6 years, 2 months ago (2014-10-06 16:52:17 UTC) #24
Ryan Sleevi
On Oct 6, 2014 5:32 AM, <eranm@chromium.org> wrote: > > On 2014/10/06 11:42:59, haavardm wrote: ...
6 years, 2 months ago (2014-10-06 17:07:42 UTC) #25
haavardm
On 2014/10/06 17:07:42, Ryan Sleevi wrote: > On Oct 6, 2014 5:32 AM, <mailto:eranm@chromium.org> wrote: ...
6 years, 2 months ago (2014-10-06 17:50:55 UTC) #26
Eran Messeri
Ryan, are there any other outstanding issue with this patch?
6 years, 2 months ago (2014-10-08 17:00:32 UTC) #27
Ryan Sleevi
https://codereview.chromium.org/547603002/diff/260001/chrome/browser/net/bit_stream_reader.cc File chrome/browser/net/bit_stream_reader.cc (right): https://codereview.chromium.org/547603002/diff/260001/chrome/browser/net/bit_stream_reader.cc#newcode22 chrome/browser/net/bit_stream_reader.cc:22: res++; Why keep the temporary? You could change line ...
6 years, 2 months ago (2014-10-20 19:18:25 UTC) #28
Eran Messeri
PTAL. I'm breaking out the Fingerprint256 changes to a separate patch anyway. https://codereview.chromium.org/547603002/diff/260001/chrome/browser/net/bit_stream_reader.cc File chrome/browser/net/bit_stream_reader.cc ...
6 years, 2 months ago (2014-10-21 15:00:00 UTC) #29
Ryan Sleevi
https://codereview.chromium.org/547603002/diff/300001/chrome/browser/net/packed_ct_ev_whitelist.cc File chrome/browser/net/packed_ct_ev_whitelist.cc (right): https://codereview.chromium.org/547603002/diff/300001/chrome/browser/net/packed_ct_ev_whitelist.cc#newcode25 chrome/browser/net/packed_ct_ev_whitelist.cc:25: scoped_refptr<net::ct::EVCertsWhitelist> new_whitelist) { pass refcounted pointers as const-ref https://codereview.chromium.org/547603002/diff/300001/chrome/browser/net/packed_ct_ev_whitelist.cc#newcode74 ...
6 years, 2 months ago (2014-10-21 22:50:26 UTC) #30
Eran Messeri
Got rid of manual memory management, addressed all other comments, reverted x509_certificate* changes that already ...
6 years, 2 months ago (2014-10-22 10:53:27 UTC) #31
Eran Messeri
https://codereview.chromium.org/547603002/diff/300001/chrome/browser/net/packed_ct_ev_whitelist.cc File chrome/browser/net/packed_ct_ev_whitelist.cc (right): https://codereview.chromium.org/547603002/diff/300001/chrome/browser/net/packed_ct_ev_whitelist.cc#newcode112 chrome/browser/net/packed_ct_ev_whitelist.cc:112: whitelist_ = new char[new_whitelist.size() * kCertHashLength]; On 2014/10/22 10:53:26, ...
6 years, 2 months ago (2014-10-22 12:42:14 UTC) #32
Ryan Sleevi
Still need to update the QUIC code - https://chromium.googlesource.com/chromium/src/+/master/net/quic/crypto/proof_verifier_chromium.cc Otherwise, I think we're almost there, ...
6 years, 2 months ago (2014-10-22 19:26:58 UTC) #33
Eran Messeri
Addressed comments, changed the quic verifier. Note that to store a char[8] in the vector ...
6 years, 2 months ago (2014-10-22 23:32:03 UTC) #34
Eran Messeri
Per offline discussion, using uint64_t in the vector rather than an array.
6 years, 2 months ago (2014-10-23 00:01:59 UTC) #35
Eran Messeri
Post-weekend friendly ping.
6 years, 1 month ago (2014-10-27 10:23:48 UTC) #36
Ryan Sleevi
LGTM mod two things. https://codereview.chromium.org/547603002/diff/360001/chrome/browser/net/packed_ct_ev_whitelist.cc File chrome/browser/net/packed_ct_ev_whitelist.cc (right): https://codereview.chromium.org/547603002/diff/360001/chrome/browser/net/packed_ct_ev_whitelist.cc#newcode51 chrome/browser/net/packed_ct_ev_whitelist.cc:51: base::Callback<void(void)> assign_cb = you can ...
6 years, 1 month ago (2014-10-27 17:09:49 UTC) #37
Eran Messeri
Addressed all comments, attempting submission now. https://codereview.chromium.org/547603002/diff/360001/chrome/browser/net/packed_ct_ev_whitelist.cc File chrome/browser/net/packed_ct_ev_whitelist.cc (right): https://codereview.chromium.org/547603002/diff/360001/chrome/browser/net/packed_ct_ev_whitelist.cc#newcode51 chrome/browser/net/packed_ct_ev_whitelist.cc:51: base::Callback<void(void)> assign_cb = ...
6 years, 1 month ago (2014-10-28 11:43: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/547603002/400001
6 years, 1 month ago (2014-10-28 15:49:21 UTC) #40
commit-bot: I haz the power
Committed patchset #21 (id:400001)
6 years, 1 month ago (2014-10-28 16:35:34 UTC) #41
commit-bot: I haz the power
6 years, 1 month ago (2014-10-28 16:36:19 UTC) #42
Message was sent while issue was closed.
Patchset 21 (id:??) landed as
https://crrev.com/efbd3137115a35c938a0cb8fa54d7c4b33403afb
Cr-Commit-Position: refs/heads/master@{#301642}

Powered by Google App Engine
This is Rietveld 408576698