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

Issue 422063004: Certificate Transparency: Require SCTs for EV certificates. (Closed)

Created:
6 years, 4 months ago by Eran Messeri
Modified:
6 years ago
CC:
chromium-reviews, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Certificate Transparency: Require SCTs for EV certificates. Add a flag to enforce the policy detailed here: http://dev.chromium.org/Home/chromium-security/certificate-transparency BUG=397458 Committed: https://crrev.com/6571b2b68658337e301c074763383e0b5c231aea Cr-Commit-Position: refs/heads/master@{#306612}

Patch Set 1 #

Patch Set 2 : Refining policy based on discussion with rsleevi #

Total comments: 12

Patch Set 3 : Rebasing onto master #

Patch Set 4 : splitting policy checks to a separate class #

Patch Set 5 : datatype issues addressed. #

Total comments: 26

Patch Set 6 : Reverting CTVerifier changes, CertPolicyEnforcer from IOThread #

Patch Set 7 : Adding tests and addressing review comments #

Patch Set 8 : Missing include for openssl #

Patch Set 9 : Casting to avoid disambiguity #

Patch Set 10 : Moving files to the right section in net.gypi #

Patch Set 11 : Moving use of EV certs whitelist into CertPolicyEnforcer #

Patch Set 12 : Fixing pointer type and tests #

Total comments: 25

Patch Set 13 : Removed changes to URLRequestContext but not added Finch flag #

Patch Set 14 : Added missing include #

Total comments: 39

Patch Set 15 : Adding finch, removing flag #

Patch Set 16 : Addressing review comments. #

Total comments: 15

Patch Set 17 : Addressing comments #

Total comments: 2

Patch Set 18 : Changed histogram enum names #

Unified diffs Side-by-side diffs Delta from patch set Stats (+590 lines, -113 lines) Patch
M chrome/browser/io_thread.h View 1 2 3 4 5 6 7 8 9 10 11 12 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 15 16 3 chunks +12 lines, -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 16 17 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 16 17 1 chunk +5 lines, -0 lines 0 comments Download
A net/cert/cert_policy_enforcer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +56 lines, -0 lines 0 comments Download
A net/cert/cert_policy_enforcer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +165 lines, -0 lines 0 comments Download
A net/cert/cert_policy_enforcer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +212 lines, -0 lines 0 comments Download
M net/http/http_network_session.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +2 lines, -0 lines 0 comments Download
M net/http/http_network_session.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -15 lines 0 comments Download
M net/http/http_network_transaction_unittest.cc 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/http/http_proxy_client_socket_pool_unittest.cc 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/http/http_stream_factory_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +7 lines, -6 lines 0 comments Download
M net/net.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_manager_impl.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M net/socket/client_socket_pool_manager_impl.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +20 lines, -29 lines 0 comments Download
M net/socket/ssl_client_socket.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 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 2 chunks +3 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 4 chunks +22 lines, -24 lines 0 comments Download
M net/socket/ssl_client_socket_openssl.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +2 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 4 chunks +24 lines, -24 lines 0 comments Download
M net/socket/ssl_client_socket_pool.h View 1 2 3 4 5 2 chunks +2 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_pool.cc View 1 2 3 4 5 3 chunks +3 lines, -0 lines 0 comments Download
M net/socket/ssl_client_socket_pool_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +7 lines, -14 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 2 chunks +23 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (4 generated)
Ryan Sleevi
https://codereview.chromium.org/422063004/diff/20001/net/cert/ct_verifier.h File net/cert/ct_verifier.h (right): https://codereview.chromium.org/422063004/diff/20001/net/cert/ct_verifier.h#newcode48 net/cert/ct_verifier.h:48: const ct::CTVerifyResult& ct_result) = 0; Comments elsewhere regarding layering, ...
6 years, 4 months ago (2014-08-05 22:19:11 UTC) #1
Ryan Sleevi
+wtc So, today, the Chrome policy specific bits for *certs* are kept in cert_verify_proc.cc. This ...
6 years, 4 months ago (2014-08-08 00:25:35 UTC) #2
Eran Messeri
On 2014/08/08 00:25:35, Ryan Sleevi wrote: > +wtc > > So, today, the Chrome policy ...
6 years, 2 months ago (2014-10-08 11:21:05 UTC) #3
Eran Messeri
Ryan, I've split the policy checks to a separate class, is that what you have ...
6 years, 2 months ago (2014-10-20 17:26:30 UTC) #5
Eran Messeri
Addressed issues with casting/overflow, code should be ready for review.
6 years, 2 months ago (2014-10-22 15:52:00 UTC) #6
Ryan Sleevi
Definitely some layering issues. Also, the static is a big red flag - this is ...
6 years, 2 months ago (2014-10-22 19:48:36 UTC) #7
Eran Messeri
As discussed offline, threaded the CertPolicyEnforcer from the IOThread all the way to the SSLClientSocket*. ...
6 years, 1 month ago (2014-10-24 12:12:36 UTC) #8
Eran Messeri
Added tests as requested. Ryan, PTAL.
6 years, 1 month ago (2014-11-02 20:43:34 UTC) #9
Eran Messeri
Adding mmenke@ for the chrome/browser/profiles/* changes. Matt, let me know if I should provide additional ...
6 years, 1 month ago (2014-11-04 22:57:41 UTC) #11
mmenke
https://codereview.chromium.org/422063004/diff/220001/net/url_request/url_request_context.h File net/url_request/url_request_context.h (right): https://codereview.chromium.org/422063004/diff/220001/net/url_request/url_request_context.h#newcode180 net/url_request/url_request_context.h:180: } Does this need to be part of the ...
6 years, 1 month ago (2014-11-05 19:32:36 UTC) #12
Ryan Sleevi
https://codereview.chromium.org/422063004/diff/220001/chrome/browser/io_thread.cc File chrome/browser/io_thread.cc (right): https://codereview.chromium.org/422063004/diff/220001/chrome/browser/io_thread.cc#newcode648 chrome/browser/io_thread.cc:648: // by for EV certificates. Remove this flag for ...
6 years, 1 month ago (2014-11-06 00:16:43 UTC) #13
Ryan Sleevi
https://codereview.chromium.org/422063004/diff/220001/net/cert/cert_policy_enforcer.cc File net/cert/cert_policy_enforcer.cc (right): https://codereview.chromium.org/422063004/diff/220001/net/cert/cert_policy_enforcer.cc#newcode57 net/cert/cert_policy_enforcer.cc:57: ct_result.verified_scts.end(), IsEmbeddedSCT); So, from the ct-policy discussion, I should ...
6 years, 1 month ago (2014-11-11 02:50:18 UTC) #14
Eran Messeri
On 2014/11/11 02:50:18, Ryan Sleevi (OOO until 11-18) wrote: > https://codereview.chromium.org/422063004/diff/220001/net/cert/cert_policy_enforcer.cc > File net/cert/cert_policy_enforcer.cc (right): ...
6 years, 1 month ago (2014-11-19 09:59:35 UTC) #15
Eran Messeri
Quick update: I am in the process of addressing Ryan's comments and removing the CertPolicyEnforcer ...
6 years, 1 month ago (2014-11-19 10:00:23 UTC) #16
Eran Messeri
In this patchset: * I've addressed all comments. * Reverted the changes to the URLRequestContext ...
6 years, 1 month ago (2014-11-20 11:49:56 UTC) #17
mmenke
How this is hooked up LGTM. You still need rsleevi to sign off on the ...
6 years, 1 month ago (2014-11-20 15:38:22 UTC) #18
Ryan Sleevi
Updated the description to remove the bit about the flag. 1) Because I suck at ...
6 years ago (2014-11-28 15:27:45 UTC) #19
Eran Messeri
Ryan, per your request, adding Finch and removing the command-line flag.
6 years ago (2014-11-29 23:07:07 UTC) #20
Eran Messeri
Addressed all review comments, PTAL. Notes: * The follow-up items are documented in https://code.google.com/p/chromium/issues/detail?id=437766 * ...
6 years ago (2014-12-01 13:59:03 UTC) #21
Ryan Sleevi
LGTM mod a few nits. You'll need to add a histograms.xml reviewer if you keep ...
6 years ago (2014-12-01 15:27:55 UTC) #22
Ryan Sleevi
actually adding isherman for histograms now.
6 years ago (2014-12-01 15:28:13 UTC) #24
Eran Messeri
Addressed all comments. https://codereview.chromium.org/422063004/diff/300001/chrome/browser/io_thread.cc File chrome/browser/io_thread.cc (right): https://codereview.chromium.org/422063004/diff/300001/chrome/browser/io_thread.cc#newcode646 chrome/browser/io_thread.cc:646: // TODO(eranm): Control with Finch. On ...
6 years ago (2014-12-01 17:29:55 UTC) #25
Ilya Sherman
histograms lgtm https://codereview.chromium.org/422063004/diff/320001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/422063004/diff/320001/tools/metrics/histograms/histograms.xml#newcode42807 tools/metrics/histograms/histograms.xml:42807: + <int value="2" label="CT_ENOUGH_SCTS"/> Optional suggestion: You ...
6 years ago (2014-12-01 23:14:08 UTC) #26
Eran Messeri
https://codereview.chromium.org/422063004/diff/320001/tools/metrics/histograms/histograms.xml File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/422063004/diff/320001/tools/metrics/histograms/histograms.xml#newcode42807 tools/metrics/histograms/histograms.xml:42807: + <int value="2" label="CT_ENOUGH_SCTS"/> On 2014/12/01 23:14:08, Ilya Sherman ...
6 years ago (2014-12-03 14:45:37 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/422063004/340001
6 years ago (2014-12-03 14:46:41 UTC) #29
commit-bot: I haz the power
Committed patchset #18 (id:340001)
6 years ago (2014-12-03 15:53:33 UTC) #30
commit-bot: I haz the power
6 years ago (2014-12-03 15:54:15 UTC) #31
Message was sent while issue was closed.
Patchset 18 (id:??) landed as
https://crrev.com/6571b2b68658337e301c074763383e0b5c231aea
Cr-Commit-Position: refs/heads/master@{#306612}

Powered by Google App Engine
This is Rietveld 408576698