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

Issue 2759023002: Improvements to the net/cert/internal error handling. (Closed)

Created:
3 years, 9 months ago by eroman
Modified:
3 years, 9 months ago
Reviewers:
mattm
CC:
chromium-reviews, chromium-apps-reviews_chromium.org, cbentzel+watch_chromium.org, extensions-reviews_chromium.org, net-reviews_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Improvements to the net/cert/internal error handling. * Don't short-circuit on the first error in VerifyCertificateChain(). This way multiple errors can be accumulated and reported. * Remove the CertErrorScoper class, which was an overly complicated abstraction only being used to bucket errors per certificate. Instead do this directly by creating separate error stores. BUG=634443 Review-Url: https://codereview.chromium.org/2759023002 Cr-Commit-Position: refs/heads/master@{#459278} Committed: https://chromium.googlesource.com/chromium/src/+/23885b6eeb422241f91094c808fdcc9ce5f80eb3

Patch Set 1 #

Total comments: 16

Patch Set 2 : Address mattm's comments #

Total comments: 2

Patch Set 3 : rebase errors #

Patch Set 4 : fix comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+540 lines, -651 lines) Patch
M net/BUILD.gn View 1 chunk +0 lines, -2 lines 0 comments Download
M net/cert/cert_verify_proc_builtin.cc View 1 4 chunks +25 lines, -19 lines 0 comments Download
D net/cert/internal/cert_error_scoper.h View 1 chunk +0 lines, -59 lines 0 comments Download
D net/cert/internal/cert_error_scoper.cc View 1 chunk +0 lines, -54 lines 0 comments Download
M net/cert/internal/cert_errors.h View 1 2 3 2 chunks +84 lines, -86 lines 0 comments Download
M net/cert/internal/cert_errors.cc View 1 3 chunks +133 lines, -81 lines 0 comments Download
M net/cert/internal/path_builder.h View 2 chunks +9 lines, -11 lines 0 comments Download
M net/cert/internal/path_builder.cc View 1 4 chunks +10 lines, -4 lines 0 comments Download
M net/cert/internal/path_builder_unittest.cc View 17 chunks +17 lines, -17 lines 0 comments Download
M net/cert/internal/verify_certificate_chain.h View 1 chunk +5 lines, -5 lines 0 comments Download
M net/cert/internal/verify_certificate_chain.cc View 1 20 chunks +79 lines, -138 lines 0 comments Download
M net/cert/internal/verify_certificate_chain_pkits_unittest.cc View 1 2 chunks +7 lines, -7 lines 0 comments Download
M net/cert/internal/verify_certificate_chain_unittest.cc View 1 1 chunk +4 lines, -5 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_algorithm_not_sequence.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_data_after_signature.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_empty_sequence.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_missing_signature.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_not_sequence.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/cert_signature_not_bit_string.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/parse_certificate_unittest/tbs_v3_data_after_extensions.pem View 1 chunk +2 lines, -2 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/expired-intermediate.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/expired-target.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/expired-target-notBefore.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-expired-intermediate.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-expired-target.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-expired-target-notBefore.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-incorrect-trust-anchor.py View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-intermediate-basic-constraints-ca-false.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-intermediate-lacks-basic-constraints.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-intermediate-lacks-signing-key-usage.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-intermediate-signed-with-md5.py View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-intermediate-unknown-critical-extension.py View 1 2 1 chunk +5 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-has-keycertsign-but-not-ca.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-has-pathlen-but-not-ca.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-signed-by-512bit-rsa.py View 1 2 1 chunk +7 lines, -7 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-signed-with-md5.py View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-unknown-critical-extension.py View 1 2 1 chunk +5 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-target-wrong-signature.py View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-violates-basic-constraints-pathlen-0.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/generate-violates-pathlen-1-constrained-root.py View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/incorrect-trust-anchor.pem View 1 2 1 chunk +6 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/intermediate-basic-constraints-ca-false.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/intermediate-lacks-basic-constraints.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/intermediate-lacks-signing-key-usage.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/intermediate-signed-with-md5.pem View 1 2 1 chunk +5 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/intermediate-unknown-critical-extension.pem View 1 2 1 chunk +6 lines, -6 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/rebase-errors.py View 2 chunks +2 lines, -2 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-has-keycertsign-but-not-ca.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-has-pathlen-but-not-ca.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-signed-by-512bit-rsa.pem View 1 2 1 chunk +8 lines, -8 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-signed-with-md5.pem View 1 2 1 chunk +5 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-unknown-critical-extension.pem View 1 2 1 chunk +6 lines, -6 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/target-wrong-signature.pem View 1 2 1 chunk +5 lines, -5 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/violates-basic-constraints-pathlen-0.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/data/verify_certificate_chain_unittest/violates-pathlen-1-constrained-root.pem View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M net/tools/cert_verify_tool/verify_using_path_builder.cc View 2 chunks +6 lines, -4 lines 0 comments Download

Messages

Total messages: 24 (17 generated)
eroman
3 years, 9 months ago (2017-03-19 00:57:18 UTC) #4
mattm
https://codereview.chromium.org/2759023002/diff/1/net/cert/internal/cert_errors.cc File net/cert/internal/cert_errors.cc (right): https://codereview.chromium.org/2759023002/diff/1/net/cert/internal/cert_errors.cc#newcode114 net/cert/internal/cert_errors.cc:114: if (node.severity == CertError::SEVERITY_HIGH) Maybe use a switch so ...
3 years, 9 months ago (2017-03-23 00:32:06 UTC) #7
eroman
Thanks for the review! https://codereview.chromium.org/2759023002/diff/1/net/cert/internal/cert_errors.cc File net/cert/internal/cert_errors.cc (right): https://codereview.chromium.org/2759023002/diff/1/net/cert/internal/cert_errors.cc#newcode114 net/cert/internal/cert_errors.cc:114: if (node.severity == CertError::SEVERITY_HIGH) On ...
3 years, 9 months ago (2017-03-23 01:32:12 UTC) #10
mattm
lgtm (looks like you need to update the test expectations for the non-normalized names though) ...
3 years, 9 months ago (2017-03-23 20:13:10 UTC) #13
eroman
https://codereview.chromium.org/2759023002/diff/20001/net/cert/internal/cert_errors.h File net/cert/internal/cert_errors.h (right): https://codereview.chromium.org/2759023002/diff/20001/net/cert/internal/cert_errors.h#newcode148 net/cert/internal/cert_errors.h:148: // Shortcut for ContainsHighSeverityErrors(). On 2017/03/23 20:13:10, mattm wrote: ...
3 years, 9 months ago (2017-03-23 21:54:35 UTC) #15
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/2759023002/60001
3 years, 9 months ago (2017-03-23 23:23:07 UTC) #21
commit-bot: I haz the power
3 years, 9 months ago (2017-03-23 23:31:10 UTC) #24
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/chromium/src/+/23885b6eeb422241f91094c808fd...

Powered by Google App Engine
This is Rietveld 408576698