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

Issue 1578993003: Add Expect CT policy that gets checked on all certs (Closed)

Created:
4 years, 11 months ago by estark
Modified:
4 years, 10 months ago
CC:
chromium-reviews, certificate-transparency-chrome_googlegroups.com, cbentzel+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add Expect CT policy that gets checked on all certs This CL introduces an Expect CT policy in the form of a CTPolicyEnforcer::DoesConformToCertPolicy() method. This policy is checked on all certs, and the results are stored in SSLInfo. In a future CL, this SSLInfo field will be used to determine whether or not to send a report for a site that expected valid CT to info to be present on its connections. BUG=568806 Committed: https://crrev.com/0fc8d0784ff725ffcab646769ec1f1765c2d4013 Cr-Commit-Position: refs/heads/master@{#377662}

Patch Set 1 #

Patch Set 2 : update some comments #

Total comments: 1

Patch Set 3 : split EV whitelist check into separate method #

Patch Set 4 : tweaks #

Total comments: 5

Patch Set 5 : fix browser tests, kinda hacky :( #

Total comments: 10

Patch Set 6 : rsleevi comments #

Total comments: 6

Patch Set 7 : rebase on https://codereview.chromium.org/1652603002/ #

Patch Set 8 : comments, netlog logging #

Patch Set 9 : rebase #

Patch Set 10 : move enum to ct_policy_status.h, other cleanup from rebase #

Patch Set 11 : clean up comments #

Patch Set 12 : build fix (netlog SetString instead of SetBoolean) #

Total comments: 6

Patch Set 13 : rsleevi nits #

Total comments: 4

Patch Set 14 : eranm nit #

Patch Set 15 : rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+397 lines, -142 lines) Patch
M net/cert/ct_policy_enforcer.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +59 lines, -4 lines 0 comments Download
M net/cert/ct_policy_enforcer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 7 chunks +132 lines, -70 lines 0 comments Download
M net/cert/ct_policy_enforcer_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 10 chunks +43 lines, -4 lines 0 comments Download
M net/cert/ct_policy_status.h View 1 2 3 4 5 6 7 8 9 2 chunks +19 lines, -1 line 0 comments Download
M net/cert/ct_verify_result.h View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -0 lines 0 comments Download
M net/cert/ct_verify_result.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -0 lines 0 comments Download
M net/log/net_log_event_type_list.h View 1 2 3 4 5 6 7 8 1 chunk +12 lines, -0 lines 0 comments Download
M net/quic/crypto/proof_verifier_chromium.cc View 1 2 3 4 5 6 7 8 9 1 chunk +23 lines, -17 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 1 chunk +28 lines, -23 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 1 chunk +28 lines, -23 lines 0 comments Download
M net/socket/ssl_client_socket_unittest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +10 lines, -0 lines 0 comments Download
M net/ssl/ssl_info.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +6 lines, -0 lines 0 comments Download
M net/ssl/ssl_info.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -0 lines 0 comments Download
M tools/metrics/histograms/histograms.xml View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 4 chunks +30 lines, -0 lines 0 comments Download

Messages

Total messages: 45 (13 generated)
estark
And this is the second CL pulled out from https://codereview.chromium.org/1579063002/ ("Implement a skeleton version of ...
4 years, 11 months ago (2016-01-12 21:00:42 UTC) #2
Ryan Sleevi
LGTM with reservations. So, as we implement policies for CNNIC & Symantec, I suspect we're ...
4 years, 11 months ago (2016-01-12 21:24:56 UTC) #4
estark
On 2016/01/12 21:24:56, Ryan Sleevi wrote: > LGTM with reservations. > > So, as we ...
4 years, 11 months ago (2016-01-12 23:16:29 UTC) #5
Eran Messeri
> Hmm, I hadn't thought about that. I suppose it does seem reasonable that we'd ...
4 years, 11 months ago (2016-01-14 11:29:05 UTC) #6
estark
Sorry for the delay! Here's another version that splits out the EV check into its ...
4 years, 11 months ago (2016-01-18 17:04:43 UTC) #7
estark
ping :)
4 years, 11 months ago (2016-01-20 16:43:38 UTC) #8
Eran Messeri
I'm fine with dropping the fine-grained information about the reason a certificate did not comply ...
4 years, 11 months ago (2016-01-21 11:55:02 UTC) #9
Eran Messeri
https://codereview.chromium.org/1578993003/diff/60001/net/cert/ct_policy_enforcer.cc File net/cert/ct_policy_enforcer.cc (right): https://codereview.chromium.org/1578993003/diff/60001/net/cert/ct_policy_enforcer.cc#newcode270 net/cert/ct_policy_enforcer.cc:270: result->status = EV_POLICY_STATUS_COMPLIANT; Nit: Set the result->status to something ...
4 years, 11 months ago (2016-01-21 13:15:38 UTC) #10
estark
https://codereview.chromium.org/1578993003/diff/60001/net/cert/ct_policy_enforcer.cc File net/cert/ct_policy_enforcer.cc (right): https://codereview.chromium.org/1578993003/diff/60001/net/cert/ct_policy_enforcer.cc#newcode270 net/cert/ct_policy_enforcer.cc:270: result->status = EV_POLICY_STATUS_COMPLIANT; On 2016/01/21 13:15:38, Eran Messeri wrote: ...
4 years, 11 months ago (2016-01-21 22:46:15 UTC) #12
Eran Messeri
> > Hmm, I think I might have actually done this intentionally, though I forgot ...
4 years, 11 months ago (2016-01-22 11:27:09 UTC) #13
Ryan Sleevi
Explained the Timeliness check below. Let's hold off on landing until we can sort the ...
4 years, 11 months ago (2016-01-22 23:49:41 UTC) #14
estark
Thanks Ryan. https://codereview.chromium.org/1578993003/diff/100001/chrome/browser/ssl/ssl_browser_tests.cc File chrome/browser/ssl/ssl_browser_tests.cc (right): https://codereview.chromium.org/1578993003/diff/100001/chrome/browser/ssl/ssl_browser_tests.cc#newcode2510 chrome/browser/ssl/ssl_browser_tests.cc:2510: // been marked as failing CT on ...
4 years, 11 months ago (2016-01-23 01:38:41 UTC) #15
Ryan Sleevi
https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.cc File net/cert/ct_policy_enforcer.cc (right): https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.cc#newcode286 net/cert/ct_policy_enforcer.cc:286: if (!IsBuildTimely()) Perhaps it's worth documenting why we check ...
4 years, 11 months ago (2016-01-23 02:08:11 UTC) #16
estark
(no code changes, just discussion inline) https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h File net/cert/ct_policy_enforcer.h (right): https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h#newcode29 net/cert/ct_policy_enforcer.h:29: // and DoesConformToEVPolicy() ...
4 years, 11 months ago (2016-01-24 16:47:46 UTC) #17
Ryan Sleevi
https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h File net/cert/ct_policy_enforcer.h (right): https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h#newcode29 net/cert/ct_policy_enforcer.h:29: // and DoesConformToEVPolicy() which applies to EV certificates. On ...
4 years, 11 months ago (2016-01-25 22:30:42 UTC) #18
estark
On 2016/01/25 22:30:42, Ryan Sleevi wrote: > https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h > File net/cert/ct_policy_enforcer.h (right): > > https://codereview.chromium.org/1578993003/diff/120001/net/cert/ct_policy_enforcer.h#newcode29 ...
4 years, 11 months ago (2016-01-26 06:46:46 UTC) #19
Eran Messeri
> check failed -- because it would be nice for UI to be able to ...
4 years, 11 months ago (2016-01-26 11:02:24 UTC) #20
Ryan Sleevi
On 2016/01/26 06:46:46, estark wrote: > First, to make sure we're on the same page, ...
4 years, 11 months ago (2016-01-26 22:26:14 UTC) #21
estark
Ok, thanks for all the discussion so far, Ryan and Eran. I've uploaded https://codereview.chromium.org/1652603002/, which ...
4 years, 10 months ago (2016-01-30 17:01:56 UTC) #22
estark
Ryan, Eran -- I've rebased this patch now that https://codereview.chromium.org/1652603002/ (adding CT policy results to ...
4 years, 10 months ago (2016-02-18 23:19:57 UTC) #23
estark
friendly ping!
4 years, 10 months ago (2016-02-22 21:50:49 UTC) #25
Ryan Sleevi
My only uncertainty is with respect to calling it cert compliance, since we have not ...
4 years, 10 months ago (2016-02-22 23:31:22 UTC) #26
estark
jwd: could you please review histograms.xml? Thanks Ryan. Agree about refactoring the very repetitive call ...
4 years, 10 months ago (2016-02-23 06:31:33 UTC) #28
estark
jwd: could you please review histograms.xml? Thanks Ryan. Agree about refactoring the very repetitive call ...
4 years, 10 months ago (2016-02-23 06:31:34 UTC) #30
Eran Messeri
Still LGTM, a few small questions. https://codereview.chromium.org/1578993003/diff/260001/net/cert/ct_policy_enforcer.cc File net/cert/ct_policy_enforcer.cc (right): https://codereview.chromium.org/1578993003/diff/260001/net/cert/ct_policy_enforcer.cc#newcode144 net/cert/ct_policy_enforcer.cc:144: return "NOT_DIVERSE_SCTS"; nit: ...
4 years, 10 months ago (2016-02-24 14:35:05 UTC) #31
estark
https://codereview.chromium.org/1578993003/diff/260001/net/cert/ct_policy_enforcer.cc File net/cert/ct_policy_enforcer.cc (right): https://codereview.chromium.org/1578993003/diff/260001/net/cert/ct_policy_enforcer.cc#newcode144 net/cert/ct_policy_enforcer.cc:144: return "NOT_DIVERSE_SCTS"; On 2016/02/24 14:35:05, Eran Messeri wrote: > ...
4 years, 10 months ago (2016-02-24 22:03:59 UTC) #32
jwd
lgtm
4 years, 10 months ago (2016-02-25 17:44:51 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578993003/280001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578993003/280001
4 years, 10 months ago (2016-02-25 18:07:31 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_dbg_recipe on tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm64_dbg_recipe/builds/27183) android_chromium_gn_compile_dbg on tryserver.chromium.android (JOB_FAILED, ...
4 years, 10 months ago (2016-02-25 18:14:51 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1578993003/300001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1578993003/300001
4 years, 10 months ago (2016-02-25 18:50:55 UTC) #41
commit-bot: I haz the power
Committed patchset #15 (id:300001)
4 years, 10 months ago (2016-02-25 20:41:29 UTC) #43
commit-bot: I haz the power
4 years, 10 months ago (2016-02-25 20:42:51 UTC) #45
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/0fc8d0784ff725ffcab646769ec1f1765c2d4013
Cr-Commit-Position: refs/heads/master@{#377662}

Powered by Google App Engine
This is Rietveld 408576698