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

Issue 2050983002: Cast device revocation checking. (Closed)

Created:
4 years, 6 months ago by ryanchung
Modified:
4 years, 4 months ago
CC:
chromium-reviews, droger+watchlist_chromium.org, blundell+watchlist_chromium.org, sdefresne+watchlist_chromium.org, vadimgo+watch_chromium.org, dougsteed+watch_chromium.org, sheretov+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

Cast device revocation checking. Cast device certificates may be revoked through two ways: 1. The hash of the public key. 2. A serial number range for an issuer identified by the hash of its public key. A customized proto is used as the medium for this information. This change contains the implementation for verifying the custom CRL and verifying a certificate's revocation status based on that CRL. BUG=618463 Committed: https://crrev.com/698608f28ed2df276f920c9691cbfcb8f9069337 Committed: https://crrev.com/ed1a0da4ea59a8f42d133818eed5e34d45fa163b Cr-Original-Commit-Position: refs/heads/master@{#407492} Cr-Commit-Position: refs/heads/master@{#407704}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : For review #

Total comments: 18

Patch Set 5 : Uses verified chain; Addresses comments #

Patch Set 6 : Removed some unused code #

Patch Set 7 : (Rebase Only) #

Patch Set 8 : Fixed rebase #

Patch Set 9 : Added test suite runner. Updated some tests. #

Total comments: 16

Patch Set 10 : Addresses comments, update test suite runner, removed explicit unit tests #

Patch Set 11 : Some cleanup #

Patch Set 12 : Some cleanup #

Patch Set 13 : Bypass serial number range revocation check for serials > 64b #

Total comments: 40

Patch Set 14 : Addresses comments #

Patch Set 15 : (Rebase only) #

Total comments: 70

Patch Set 16 : Addresses comments #

Patch Set 17 : Removed missing files from BUILD.gn #

Patch Set 18 : Updated consumer of the API. #

Patch Set 19 : Sync proto with google3 #

Patch Set 20 : Fixed proto again #

Total comments: 55

Patch Set 21 : Addresses comments #

Patch Set 22 : (Rebase only) to get EncodeTimeAsGeneralizedTime() #

Patch Set 23 : API change: use base::Time instead of base::Time::ExplodedTime #

Total comments: 6

Patch Set 24 : Addresses comments #

Patch Set 25 : Updated networking_private_crypto.h #

Patch Set 26 : Updated networking_private_crypto_unittest.cc #

Patch Set 27 : Fixed test failure on 32 bit systems. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1298 lines, -72 lines) Patch
M chrome/common/extensions/api/networking_private/networking_private_crypto.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +1 line, -1 line 0 comments Download
M chrome/common/extensions/api/networking_private/networking_private_crypto.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +4 lines, -4 lines 0 comments Download
M chrome/common/extensions/api/networking_private/networking_private_crypto_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 1 chunk +13 lines, -8 lines 0 comments Download
M components/cast_certificate.gypi View 1 2 3 4 5 6 7 8 1 chunk +31 lines, -0 lines 0 comments Download
M components/cast_certificate/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +5 lines, -0 lines 0 comments Download
M components/cast_certificate/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M components/cast_certificate/cast_cert_validator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 5 chunks +25 lines, -10 lines 0 comments Download
M components/cast_certificate/cast_cert_validator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 7 chunks +34 lines, -22 lines 0 comments Download
M components/cast_certificate/cast_cert_validator_test_helpers.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +4 lines, -0 lines 0 comments Download
M components/cast_certificate/cast_cert_validator_test_helpers.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +0 lines, -6 lines 0 comments Download
M components/cast_certificate/cast_cert_validator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 3 chunks +17 lines, -10 lines 0 comments Download
A components/cast_certificate/cast_crl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +64 lines, -0 lines 0 comments Download
A components/cast_certificate/cast_crl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +340 lines, -0 lines 0 comments Download
A + components/cast_certificate/cast_crl_root_ca_cert_der-inc.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +3 lines, -5 lines 0 comments Download
A components/cast_certificate/cast_crl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +205 lines, -0 lines 0 comments Download
A components/cast_certificate/proto/BUILD.gn View 1 2 3 4 5 6 7 8 1 chunk +37 lines, -0 lines 0 comments Download
A components/cast_certificate/proto/revocation.proto View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +60 lines, -0 lines 0 comments Download
A components/cast_certificate/proto/test_suite.proto View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +56 lines, -0 lines 0 comments Download
M components/components_tests.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 2 chunks +3 lines, -2 lines 0 comments Download
A components/test/data/cast_certificate/certificates/cast_crl_test_root_ca.pem View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +84 lines, -0 lines 0 comments Download
A components/test/data/cast_certificate/certificates/cast_test_root_ca.pem View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +83 lines, -0 lines 0 comments Download
A components/test/data/cast_certificate/testsuite/README View 1 2 3 4 5 6 7 8 9 1 chunk +4 lines, -0 lines 0 comments Download
A components/test/data/cast_certificate/testsuite/testsuite1.pb View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Binary file 0 comments Download
A components/test/data/cast_certificate/testsuite/testsuite1.pb_text View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +219 lines, -0 lines 0 comments Download
M extensions/browser/api/cast_channel/cast_auth_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +5 lines, -4 lines 0 comments Download

Messages

Total messages: 61 (32 generated)
ryanchung
4 years, 6 months ago (2016-06-09 16:46:41 UTC) #2
sheretov
https://codereview.chromium.org/2050983002/diff/60001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2050983002/diff/60001/components/cast_certificate/cast_crl.cc#newcode84 components/cast_certificate/cast_crl.cc:84: // Parse the public key and calculate its hash. ...
4 years, 6 months ago (2016-06-13 19:18:35 UTC) #3
ryanchung
https://codereview.chromium.org/2050983002/diff/60001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2050983002/diff/60001/components/cast_certificate/cast_crl.cc#newcode84 components/cast_certificate/cast_crl.cc:84: // Parse the public key and calculate its hash. ...
4 years, 6 months ago (2016-06-21 21:45:06 UTC) #4
sheretov
Some comments. More to come when there's an updated test runner. https://codereview.chromium.org/2050983002/diff/160001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): ...
4 years, 6 months ago (2016-06-24 20:24:31 UTC) #5
ryanchung
https://codereview.chromium.org/2050983002/diff/160001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2050983002/diff/160001/components/cast_certificate/cast_crl.cc#newcode161 components/cast_certificate/cast_crl.cc:161: return false; On 2016/06/24 20:24:30, sheretov wrote: > Any ...
4 years, 5 months ago (2016-06-29 22:09:48 UTC) #6
ryanchung
PTAL Thanks.
4 years, 5 months ago (2016-07-07 16:32:26 UTC) #8
sheretov
Next round of comments. You might want to rebase to take mattm@'s last CL into ...
4 years, 5 months ago (2016-07-08 18:07:08 UTC) #9
ryanchung
and rebased! https://codereview.chromium.org/2050983002/diff/240001/components/cast_certificate/cast_cert_validator.h File components/cast_certificate/cast_cert_validator.h (right): https://codereview.chromium.org/2050983002/diff/240001/components/cast_certificate/cast_cert_validator.h#newcode96 components/cast_certificate/cast_cert_validator.h:96: CRLOptions crl_options) WARN_UNUSED_RESULT; On 2016/07/08 18:07:07, sheretov ...
4 years, 5 months ago (2016-07-08 22:49:30 UTC) #10
sheretov
LGTM. On to Eric.
4 years, 5 months ago (2016-07-08 23:18:40 UTC) #11
eroman
https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc#newcode321 components/cast_certificate/cast_cert_validator.cc:321: return true; Can you remove this "return true" and ...
4 years, 5 months ago (2016-07-12 21:22:01 UTC) #12
sheretov
https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/proto/revocation.proto File components/cast_certificate/proto/revocation.proto (right): https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/proto/revocation.proto#newcode25 components/cast_certificate/proto/revocation.proto:25: optional bytes signer_cert = 2; On 2016/07/12 21:22:01, eroman ...
4 years, 5 months ago (2016-07-12 21:59:04 UTC) #13
ryanchung
https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc#newcode321 components/cast_certificate/cast_cert_validator.cc:321: return true; On 2016/07/12 21:21:59, eroman wrote: > Can ...
4 years, 5 months ago (2016-07-14 16:15:26 UTC) #14
eroman
https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc#newcode346 components/cast_certificate/cast_cert_validator.cc:346: CastTrustStore::Get().Clear(); On 2016/07/14 16:15:24, ryanchung wrote: > On 2016/07/12 ...
4 years, 5 months ago (2016-07-15 22:52:49 UTC) #15
ryanchung
https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc File components/cast_certificate/cast_cert_validator.cc (right): https://codereview.chromium.org/2050983002/diff/280001/components/cast_certificate/cast_cert_validator.cc#newcode346 components/cast_certificate/cast_cert_validator.cc:346: CastTrustStore::Get().Clear(); On 2016/07/15 22:52:48, eroman wrote: > On 2016/07/14 ...
4 years, 5 months ago (2016-07-18 23:39:09 UTC) #16
eroman
lgtm https://codereview.chromium.org/2050983002/diff/380001/components/cast_certificate/cast_crl.cc File components/cast_certificate/cast_crl.cc (right): https://codereview.chromium.org/2050983002/diff/380001/components/cast_certificate/cast_crl.cc#newcode64 components/cast_certificate/cast_crl.cc:64: // TODO (ryanchung): Add official Cast CRL Root ...
4 years, 5 months ago (2016-07-19 01:54:59 UTC) #17
ryanchung
Thanks! https://codereview.chromium.org/2050983002/diff/380001/components/test/data/cast_certificate/testsuite/testsuite1.pb_text File components/test/data/cast_certificate/testsuite/testsuite1.pb_text (right): https://codereview.chromium.org/2050983002/diff/380001/components/test/data/cast_certificate/testsuite/testsuite1.pb_text#newcode1 components/test/data/cast_certificate/testsuite/testsuite1.pb_text:1: tests { On 2016/07/19 01:54:59, eroman wrote: > ...
4 years, 5 months ago (2016-07-19 21:29:54 UTC) #28
ryanchung
+asargent Please review extensions/ and chrome/ (updated callsites) Thanks!
4 years, 5 months ago (2016-07-19 21:31:33 UTC) #30
asargent_no_longer_on_chrome
extensions stuff lgtm
4 years, 5 months ago (2016-07-20 21:26:41 UTC) #33
ryanchung
+davidben Please review DEPS +crypto (cast_crl.cc uses crypto/sha2.h). Thanks!
4 years, 5 months ago (2016-07-20 21:30:54 UTC) #35
davidben
DEPS rubber stamp lgtm (depending on //crypto when you're using the cert stuff is reasonable. ...
4 years, 4 months ago (2016-07-25 15:09:11 UTC) #36
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/2050983002/500001
4 years, 4 months ago (2016-07-25 16:40:07 UTC) #43
commit-bot: I haz the power
Committed patchset #26 (id:500001)
4 years, 4 months ago (2016-07-25 16:44:20 UTC) #44
commit-bot: I haz the power
Patchset 26 (id:??) landed as https://crrev.com/698608f28ed2df276f920c9691cbfcb8f9069337 Cr-Commit-Position: refs/heads/master@{#407492}
4 years, 4 months ago (2016-07-25 16:45:36 UTC) #46
Mark P
On 2016/07/25 16:45:36, commit-bot: I haz the power wrote: > Patchset 26 (id:??) landed as ...
4 years, 4 months ago (2016-07-25 19:04:25 UTC) #47
Mark P
A revert of this CL (patchset #26 id:500001) has been created in https://codereview.chromium.org/2181013002/ by mpearson@chromium.org. ...
4 years, 4 months ago (2016-07-25 19:04:54 UTC) #48
ryanchung
The test was failing on 32 bit systems because base::Time::FromExploded was clamping the range to ...
4 years, 4 months ago (2016-07-25 23:48:57 UTC) #50
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/2050983002/520001
4 years, 4 months ago (2016-07-26 04:10:25 UTC) #57
commit-bot: I haz the power
Committed patchset #27 (id:520001)
4 years, 4 months ago (2016-07-26 04:14:30 UTC) #59
commit-bot: I haz the power
4 years, 4 months ago (2016-07-26 04:17:11 UTC) #61
Message was sent while issue was closed.
Patchset 27 (id:??) landed as
https://crrev.com/ed1a0da4ea59a8f42d133818eed5e34d45fa163b
Cr-Commit-Position: refs/heads/master@{#407704}

Powered by Google App Engine
This is Rietveld 408576698