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

Issue 1724413002: Perform CRLSet evaluation during Path Building on NSS (Closed)

Created:
4 years, 10 months ago by Ryan Sleevi
Modified:
4 years, 9 months ago
Reviewers:
benwells, mattm, eroman
CC:
chromium-reviews, cbentzel+watch_chromium.org, davidben
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Perform CRLSet evaluation during Path Building on NSS When using NSS for certificate verification, add CRLSet checking by injecting a revocation callback function which will examine the CRLSet and reject the certificate. If the CRLSet does not affirmatively reject it, continue invoking the originally supplied application callback (such as the ChromeOS callback) and allow it an opportunity to reject. Because of how NSS caches virtually everything, horribly so, this restructures the unittests to no longer depend on how the underlying library will select the path (since with NSS, it's fundamentally non-determistic), and instead tests that as long as a singular certificate path is still valid and un-revoked, it can be discovered. BUG=589336 TEST=CertVerifyProcTest.CRLSet* TBR=mattm@chromium.org Committed: https://crrev.com/56139459f834b6b4ac3aad37b466d9ae997ff15c Cr-Commit-Position: refs/heads/master@{#380590}

Patch Set 1 #

Total comments: 15

Patch Set 2 : rebased #

Patch Set 3 : Review feedback #

Total comments: 1

Patch Set 4 : Review feedback #

Patch Set 5 : I am an idiot #

Patch Set 6 : Rebased #

Patch Set 7 : Change issuer names to avoid NSS bug #

Patch Set 8 : Fix ChromeOS Test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1169 lines, -1169 lines) Patch
M chrome/browser/chromeos/net/cert_verify_proc_chromeos_unittest.cc View 1 2 3 4 5 6 7 7 chunks +15 lines, -15 lines 0 comments Download
M net/cert/cert_verify_proc_nss.cc View 1 2 3 4 7 chunks +86 lines, -33 lines 0 comments Download
M net/cert/cert_verify_proc_unittest.cc View 1 2 3 4 5 2 chunks +92 lines, -185 lines 0 comments Download
M net/data/ssl/certificates/multi-root-A-by-B.pem View 1 2 3 4 5 6 1 chunk +85 lines, -84 lines 0 comments Download
M net/data/ssl/certificates/multi-root-B-by-C.pem View 1 2 3 4 5 6 1 chunk +55 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-B-by-F.pem View 1 2 3 4 5 6 1 chunk +55 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-C-by-D.pem View 1 2 3 4 5 6 1 chunk +55 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-C-by-E.pem View 1 2 3 4 5 6 1 chunk +55 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-D-by-D.pem View 1 2 3 4 5 6 1 chunk +56 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-E-by-E.pem View 1 2 3 4 5 6 1 chunk +56 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-F-by-E.pem View 1 2 3 4 5 6 1 chunk +55 lines, -55 lines 0 comments Download
M net/data/ssl/certificates/multi-root-chain1.pem View 1 2 3 4 5 6 1 chunk +226 lines, -224 lines 0 comments Download
M net/data/ssl/certificates/multi-root-chain2.pem View 1 2 3 4 5 6 1 chunk +226 lines, -224 lines 0 comments Download
A net/data/ssl/certificates/multi-root-crlset-C.raw View 1 2 3 4 5 6 Binary file 0 comments Download
D net/data/ssl/certificates/multi-root-crlset-C-by-E.raw View Binary file 0 comments Download
A net/data/ssl/certificates/multi-root-crlset-CD-and-FE.raw View 1 2 3 4 5 6 Binary file 0 comments Download
A net/data/ssl/certificates/multi-root-crlset-D-and-E.raw View 1 2 3 4 5 6 Binary file 0 comments Download
A net/data/ssl/certificates/multi-root-crlset-E.raw View 1 2 3 4 5 6 Binary file 0 comments Download
D net/data/ssl/certificates/multi-root-crlset-F.raw View Binary file 0 comments Download
A net/data/ssl/certificates/multi-root-crlset-unrelated.raw View 1 2 3 4 5 6 Binary file 0 comments Download
M net/data/ssl/scripts/generate-multi-root-test-chains.sh View 1 2 3 4 5 6 10 chunks +52 lines, -19 lines 0 comments Download

Messages

Total messages: 55 (26 generated)
Ryan Sleevi
CC davidben since he had a lot of strong opinions on the Windows CL (and ...
4 years, 10 months ago (2016-02-24 03:18:41 UTC) #2
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/1
4 years, 10 months ago (2016-02-24 03:20:53 UTC) #4
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: ios_rel_device_ninja on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ninja/builds/176846)
4 years, 10 months ago (2016-02-24 03:38:40 UTC) #6
eroman
https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc File net/cert/cert_verify_proc_nss.cc (right): https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc#newcode366 net/cert/cert_verify_proc_nss.cc:366: intermediates.erase(intermediates.begin()); Could have avoided the erase(). https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc#newcode385 net/cert/cert_verify_proc_nss.cc:385: if ...
4 years, 10 months ago (2016-02-25 03:12:02 UTC) #7
Ryan Sleevi
https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc File net/cert/cert_verify_proc_nss.cc (right): https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc#newcode366 net/cert/cert_verify_proc_nss.cc:366: intermediates.erase(intermediates.begin()); On 2016/02/25 03:12:02, eroman wrote: > Could have ...
4 years, 9 months ago (2016-03-01 22:44:58 UTC) #8
eroman
lgtm https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc File net/cert/cert_verify_proc_nss.cc (right): https://codereview.chromium.org/1724413002/diff/1/net/cert/cert_verify_proc_nss.cc#newcode366 net/cert/cert_verify_proc_nss.cc:366: intermediates.erase(intermediates.begin()); On 2016/03/01 22:44:57, Ryan Sleevi wrote: > ...
4 years, 9 months ago (2016-03-02 00:05:07 UTC) #9
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/60001
4 years, 9 months ago (2016-03-02 23:45:50 UTC) #11
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: cast_shell_linux on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/cast_shell_linux/builds/124655)
4 years, 9 months ago (2016-03-03 00:22:33 UTC) #13
Ryan Sleevi
I am an idiot
4 years, 9 months ago (2016-03-03 00:51:37 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/80001
4 years, 9 months ago (2016-03-03 22:15:38 UTC) #17
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 9 months ago (2016-03-03 22:25:06 UTC) #18
commit-bot: I haz the power
Patchset 5 (id:??) landed as https://crrev.com/c45d7cce9017369c36ecbe3ed2d4567eea786f24 Cr-Commit-Position: refs/heads/master@{#379113}
4 years, 9 months ago (2016-03-03 22:26:06 UTC) #20
benwells
A revert of this CL (patchset #5 id:80001) has been created in https://codereview.chromium.org/1762923002/ by benwells@chromium.org. ...
4 years, 9 months ago (2016-03-04 05:28:50 UTC) #21
benwells
This also appears to have caused errors on CHromeOS valgrind: https://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20%28valgrind%29%281%29/builds/41232 Sample output: NSSCertDatabaseChromeOSTest.ListCertsReadsSystemSlot: Did ...
4 years, 9 months ago (2016-03-04 05:34:11 UTC) #23
Ryan Sleevi
Eric: Would you re-review? The only non-automated change is https://codereview.chromium.org/1724413002/diff2/100001:120001/net/data/ssl/scripts/generate-multi-root-test-chains.sh TL;DR: I hate NSS. It ...
4 years, 9 months ago (2016-03-11 02:49:17 UTC) #26
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/120001
4 years, 9 months ago (2016-03-11 02:49:56 UTC) #28
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/181265)
4 years, 9 months ago (2016-03-11 02:59:22 UTC) #30
eroman
patchset7 lgtm
4 years, 9 months ago (2016-03-11 03:11:21 UTC) #31
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/120001
4 years, 9 months ago (2016-03-11 05:24:14 UTC) #33
commit-bot: I haz the power
Try jobs failed on following builders: win_chromium_x64_rel_ng on tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_rel_ng/builds/181358)
4 years, 9 months ago (2016-03-11 06:30:27 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/120001
4 years, 9 months ago (2016-03-11 06:31:45 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_ozone_rel_ng/builds/138511)
4 years, 9 months ago (2016-03-11 07:01:48 UTC) #39
Ryan Sleevi
matt: TBRing you on the chrome/browser/chromeos/net change because it's just updating some strings
4 years, 9 months ago (2016-03-11 07:19:58 UTC) #43
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/140001
4 years, 9 months ago (2016-03-11 07:20:36 UTC) #46
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_asan_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/129554)
4 years, 9 months ago (2016-03-11 08:08:22 UTC) #48
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1724413002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1724413002/140001
4 years, 9 months ago (2016-03-11 08:39:49 UTC) #50
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 9 months ago (2016-03-11 10:06:58 UTC) #52
commit-bot: I haz the power
Patchset 8 (id:??) landed as https://crrev.com/56139459f834b6b4ac3aad37b466d9ae997ff15c Cr-Commit-Position: refs/heads/master@{#380590}
4 years, 9 months ago (2016-03-11 10:08:58 UTC) #54
mattm
4 years, 9 months ago (2016-03-12 02:20:49 UTC) #55
Message was sent while issue was closed.
lgtm

Powered by Google App Engine
This is Rietveld 408576698