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

Issue 76443006: Certificate Transparency: Threading the CT verifier into the SSL client socket. (Closed)

Created:
7 years, 1 month ago by Eran M. (Google)
Modified:
7 years ago
Reviewers:
jam, wtc, Ryan Sleevi
CC:
chromium-reviews, cbentzel+watch_chromium.org
Visibility:
Public.

Description

Certificate Transparency: Threading the CT verifier into the SSL client socket. With this patch, Basic Certificate Transparency status is available to the UI from the cert_status field of SSLInfo. Please note this patch is based on https://codereview.chromium.org/67513008/ which has been LGTMed but not submitted yet. Jam@: If you need any details on how it fits with the UI, it's outlined in issue https://codereview.chromium.org/27026002/ BUG=309578 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=237785

Patch Set 1 #

Patch Set 2 : API Update #

Patch Set 3 : Load log keys #

Patch Set 4 : Using saved log keys #

Patch Set 5 : Addressing all review comments. #

Patch Set 6 : Previous patchset leaked information from another issue #

Total comments: 22

Patch Set 7 : Addressing review comments #

Patch Set 8 : #

Patch Set 9 : Fixing compilation on non-NSS platforms #

Total comments: 53

Patch Set 10 : Addressing wtc's comments #

Patch Set 11 : Follow-up #

Patch Set 12 : Moving logs creation out of io_thread #

Total comments: 2

Patch Set 13 : Adding net-export #

Patch Set 14 : Removing error codes #

Total comments: 20

Patch Set 15 : Addressing wtc's review comments for patchset 14 #

Patch Set 16 : Reverted changes to cert_status_flags, added error code #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+270 lines, -21 lines) Patch
M chrome/browser/io_thread.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/io_thread.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 6 chunks +47 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_impl_io_data.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +11 lines, -0 lines 0 comments Download
M net/base/net_error_list.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +4 lines, -0 lines 1 comment Download
A net/cert/ct_known_logs.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +30 lines, -0 lines 0 comments Download
A net/cert/ct_known_logs.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +80 lines, -0 lines 1 comment Download
M net/cert/multi_log_ct_verifier.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +14 lines, -16 lines 0 comments Download
M net/http/http_network_session.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M net/http/http_network_session.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M net/http/http_network_transaction_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M net/http/http_proxy_client_socket_pool_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M net/http/http_stream_factory_impl_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M net/net.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_manager_impl.h View 3 chunks +3 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_manager_impl.cc View 5 chunks +5 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket.h View 2 chunks +6 lines, -1 line 0 comments Download
M net/socket/ssl_client_socket_nss.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +8 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 5 chunks +30 lines, -3 lines 0 comments Download
M net/socket/ssl_client_socket_pool.h View 2 chunks +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_pool.cc View 3 chunks +3 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_pool_unittest.cc View 1 chunk +1 line, -0 lines 0 comments Download
M net/url_request/url_request_context.h View 3 chunks +10 lines, -1 line 0 comments Download
M net/url_request/url_request_context.cc View 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 16 (0 generated)
Eran M. (Google)
7 years, 1 month ago (2013-11-21 20:32:17 UTC) #1
Ryan Sleevi
https://codereview.chromium.org/76443006/diff/120001/chrome/browser/io_thread.cc File chrome/browser/io_thread.cc (right): https://codereview.chromium.org/76443006/diff/120001/chrome/browser/io_thread.cc#newcode576 chrome/browser/io_thread.cc:576: " is 'description:base64_key')"; The DFATAL seems inappropriate here. The ...
7 years ago (2013-11-25 06:49:31 UTC) #2
Eran M. (Google)
Addressed all comments, PTAL. https://codereview.chromium.org/76443006/diff/120001/chrome/browser/io_thread.cc File chrome/browser/io_thread.cc (right): https://codereview.chromium.org/76443006/diff/120001/chrome/browser/io_thread.cc#newcode576 chrome/browser/io_thread.cc:576: " is 'description:base64_key')"; On 2013/11/25 ...
7 years ago (2013-11-25 17:18:32 UTC) #3
wtc
Patch set 9 LGTM. 1. Please wait for Ryan's approval. 2. There are bugs (marked ...
7 years ago (2013-11-26 01:47:23 UTC) #4
Ryan Sleevi
Will take a final pass once a new version is uploaded https://codereview.chromium.org/76443006/diff/220001/chrome/browser/profiles/profile_impl_io_data.cc File chrome/browser/profiles/profile_impl_io_data.cc (right): ...
7 years ago (2013-11-26 02:22:13 UTC) #5
Eran M. (Google)
Addressed all comments, PTAL. Notice the following major changes: * net_error_list.h: I've left only two ...
7 years ago (2013-11-26 14:45:53 UTC) #6
jam
chrome rubberstamp lgtm
7 years ago (2013-11-26 17:20:36 UTC) #7
wtc
Review comments on patch set 12: Eran: today is the last working day of this ...
7 years ago (2013-11-27 16:45:56 UTC) #8
Eran M. (Google)
Removed changes to net_error_list.h, as discussed. https://codereview.chromium.org/76443006/diff/280001/net/base/net_error_list.h File net/base/net_error_list.h (right): https://codereview.chromium.org/76443006/diff/280001/net/base/net_error_list.h#newcode423 net/base/net_error_list.h:423: NET_ERROR(NO_SCTS_VERIFIED_OK, -299) On ...
7 years ago (2013-11-27 19:05:47 UTC) #9
wtc
Patch set 14 LGTM. https://codereview.chromium.org/76443006/diff/320001/net/cert/cert_status_flags.h File net/cert/cert_status_flags.h (right): https://codereview.chromium.org/76443006/diff/320001/net/cert/cert_status_flags.h#newcode45 net/cert/cert_status_flags.h:45: static const int CERTIFICATE_TRANSPARENCY_STATUS_MASK = ...
7 years ago (2013-11-27 20:00:49 UTC) #10
wtc
On 2013/11/26 14:45:53, eranm wrote: > > * net_error_list.h: I've left only two new error ...
7 years ago (2013-11-27 20:13:53 UTC) #11
Eran M. (Google)
Addressed all comments. The only thing not done in patchset 15 is adding a general ...
7 years ago (2013-11-27 23:01:42 UTC) #12
Eran M. (Google)
As discussed offline, I have reverted the changes to cert_status_flags because they are not necessary ...
7 years ago (2013-11-28 12:24:59 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eranm@google.com/76443006/360001
7 years ago (2013-11-28 13:44:59 UTC) #14
commit-bot: I haz the power
Change committed as 237785
7 years ago (2013-11-28 15:11:57 UTC) #15
wtc
7 years ago (2013-11-28 15:18:24 UTC) #16
Message was sent while issue was closed.
Patch set 16 LGTM.

https://codereview.chromium.org/76443006/diff/360001/net/base/net_error_list.h
File net/base/net_error_list.h (right):

https://codereview.chromium.org/76443006/diff/360001/net/base/net_error_list....
net/base/net_error_list.h:413: NET_ERROR(CT_NO_SCTS_VERIFIED_OK, -299)

Let's work on this next week. I remember if an error is not < ERR_CERT_END, then
it won't trigger the standard certificate error handling.

This error should start with "CERT_". I suggest something like
"CERT_CT_VERIFY_FAILED" or "CERT_SCT_INVALID".

Note: Although error codes are not persisted, error code numbers are displayed
in error pages and may be cited in bug reports. So to avoid confusion, we don't
change error code values. But we have plenty of time to change this error before
the Chrome 33 branch is created.

https://codereview.chromium.org/76443006/diff/360001/net/cert/ct_known_logs.cc
File net/cert/ct_known_logs.cc (right):

https://codereview.chromium.org/76443006/diff/360001/net/cert/ct_known_logs.c...
net/cert/ct_known_logs.cc:65: scoped_ptr<net::CTLogVerifier>
CreateGoogleAviatorLogVerifier() {

Nit: remove net:: here and on line 71.

Powered by Google App Engine
This is Rietveld 408576698