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

Issue 2225493003: Don't treat trust anchors as certificates during path building. (Closed)

Created:
4 years, 4 months ago by eroman
Modified:
4 years, 4 months ago
Reviewers:
mattm, sheretov, ryanchung
CC:
chromium-reviews, cbentzel+watch_chromium.org, sheretov+watch_chromium.org, dougsteed+watch_chromium.org, vadimgo+watch_chromium.org, ryanchung+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Don't treat trust anchors as certificates during path building. This clarifies the abstraction for trust anchors, and treats them as described in RFC 5280 -- as being just an SPKI + name. Previously anchors were passed around as certificates, wheres this CL: * Introduces TrustAnchor to describe trust anchor for path validation/building * Introduces CertPath to describe trust anchor + certificates * TrustAnchor may optionally have an associated certificate, however properties of that certificate are not processed during validation. * TrustAnchor will be extended in a follow-up CL (issue 635200) to support describing anchor constraints BUG=634509, 410574 Committed: https://crrev.com/96739b74597dba66dce7104b3f058028950d2ce1 Cr-Commit-Position: refs/heads/master@{#411231}

Patch Set 1 #

Patch Set 2 : Replace TODO(eroman) with TODO(crbug.com/635200) #

Total comments: 6

Patch Set 3 : make cert_verify_tool compile #

Patch Set 4 : fix components_unittests compile (hopefully) #

Total comments: 11

Patch Set 5 : first pass over matt's comments #

Patch Set 6 : don't use auto for scoped_refptrs #

Patch Set 7 : improve some comments #

Patch Set 8 : moar test #

Total comments: 4

Patch Set 9 : address moar feedback #

Unified diffs Side-by-side diffs Delta from patch set Stats (+990 lines, -708 lines) Patch
M components/cast_certificate/cast_cert_validator.cc View 1 2 3 4 5 6 1 chunk +7 lines, -3 lines 0 comments Download
M components/cast_certificate/cast_crl.h View 2 chunks +3 lines, -5 lines 0 comments Download
M components/cast_certificate/cast_crl.cc View 1 2 3 4 5 6 6 chunks +32 lines, -15 lines 0 comments Download
M components/cast_certificate/cast_crl_unittest.cc View 1 2 3 4 5 1 chunk +5 lines, -3 lines 0 comments Download
M net/cert/internal/path_builder.h View 1 2 3 4 5 6 5 chunks +30 lines, -13 lines 0 comments Download
M net/cert/internal/path_builder.cc View 23 chunks +105 lines, -60 lines 0 comments Download
M net/cert/internal/path_builder_pkits_unittest.cc View 1 2 3 4 5 1 chunk +4 lines, -1 line 0 comments Download
M net/cert/internal/path_builder_unittest.cc View 1 2 3 4 5 6 7 8 31 chunks +240 lines, -121 lines 0 comments Download
M net/cert/internal/path_builder_verify_certificate_chain_unittest.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M net/cert/internal/trust_store.h View 1 2 3 4 5 6 2 chunks +61 lines, -10 lines 0 comments Download
M net/cert/internal/trust_store.cc View 1 2 3 4 2 chunks +29 lines, -19 lines 0 comments Download
M net/cert/internal/verify_certificate_chain.h View 1 2 3 4 5 6 3 chunks +15 lines, -13 lines 0 comments Download
M net/cert/internal/verify_certificate_chain.cc View 1 8 chunks +21 lines, -43 lines 0 comments Download
M net/cert/internal/verify_certificate_chain_pkits_unittest.cc View 1 2 3 4 5 1 chunk +5 lines, -4 lines 0 comments Download
M net/cert/internal/verify_certificate_chain_typed_unittest.h View 1 2 3 4 5 4 chunks +14 lines, -9 lines 0 comments Download
M net/cert/internal/verify_certificate_chain_unittest.cc View 2 chunks +9 lines, -14 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/expired-root.pem View 8 chunks +152 lines, -151 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-expired-root.py View 2 chunks +5 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-violates-pathlen-1-root.py View 2 chunks +3 lines, -2 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/violates-pathlen-1-root.pem View 10 chunks +200 lines, -199 lines 0 comments Download
M net/tools/cert_verify_tool/verify_using_path_builder.cc View 1 2 3 4 5 5 chunks +47 lines, -17 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 45 (31 generated)
eroman
4 years, 4 months ago (2016-08-06 01:14:09 UTC) #2
mattm
https://codereview.chromium.org/2225493003/diff/20001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2225493003/diff/20001/components/cast_certificate/cast_crl.cc#newcode174 components/cast_certificate/cast_crl.cc:174: for (const auto& cert : result.paths[result.best_result_index]->path.certs) { ok that ...
4 years, 4 months ago (2016-08-09 00:59:21 UTC) #10
eroman
https://codereview.chromium.org/2225493003/diff/20001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2225493003/diff/20001/components/cast_certificate/cast_crl.cc#newcode174 components/cast_certificate/cast_crl.cc:174: for (const auto& cert : result.paths[result.best_result_index]->path.certs) { On 2016/08/09 ...
4 years, 4 months ago (2016-08-09 01:37:20 UTC) #11
mattm
https://codereview.chromium.org/2225493003/diff/60001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2225493003/diff/60001/components/cast_certificate/cast_cert_validator.cc#newcode76 components/cast_certificate/cast_cert_validator.cc:76: auto anchor = On 2016/08/09 01:37:20, eroman wrote: > ...
4 years, 4 months ago (2016-08-09 19:51:04 UTC) #16
eroman
https://codereview.chromium.org/2225493003/diff/60001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2225493003/diff/60001/components/cast_certificate/cast_cert_validator.cc#newcode76 components/cast_certificate/cast_cert_validator.cc:76: auto anchor = On 2016/08/09 19:51:04, mattm wrote: > ...
4 years, 4 months ago (2016-08-09 23:42:07 UTC) #21
mattm
lgtm https://codereview.chromium.org/2225493003/diff/140001/net/cert/internal/path_builder_unittest.cc File net/cert/internal/path_builder_unittest.cc (right): https://codereview.chromium.org/2225493003/diff/140001/net/cert/internal/path_builder_unittest.cc#newcode240 net/cert/internal/path_builder_unittest.cc:240: // but with different data). Maybe mention that ...
4 years, 4 months ago (2016-08-10 19:46:01 UTC) #25
eroman
+sheretov,ryanchung for Cast review. Detailed explanation below: There are some slight semantic changes from this ...
4 years, 4 months ago (2016-08-10 20:39:05 UTC) #29
ryanchung
Thanks for the detailed explanation. lgtm
4 years, 4 months ago (2016-08-10 21:23:18 UTC) #32
sheretov
On 2016/08/10 21:23:18, ryanchung wrote: > Thanks for the detailed explanation. > lgtm Same for ...
4 years, 4 months ago (2016-08-10 21:26:59 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2225493003/160001
4 years, 4 months ago (2016-08-10 21:33:28 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_android_rel_ng/builds/120229)
4 years, 4 months ago (2016-08-10 23:13:40 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2225493003/160001
4 years, 4 months ago (2016-08-10 23:21:28 UTC) #41
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 4 months ago (2016-08-11 02:34:00 UTC) #43
commit-bot: I haz the power
4 years, 4 months ago (2016-08-11 02:35:22 UTC) #45
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/96739b74597dba66dce7104b3f058028950d2ce1
Cr-Commit-Position: refs/heads/master@{#411231}

Powered by Google App Engine
This is Rietveld 408576698