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

Issue 13035003: Added a PolicyCertVerifier that uses the trust anchors from the ONC policies. (Closed)

Created:
7 years, 9 months ago by Joao da Silva
Modified:
7 years, 8 months ago
CC:
chromium-reviews, nkostylev+watch_chromium.org, tfarina, gspencer+watch_chromium.org, gauravsh+watch_chromium.org, sail+watch_chromium.org, eroman, oshima+watch_chromium.org, stevenjb+watch_chromium.org, davemoore+watch_chromium.org
Visibility:
Public.

Description

Added a PolicyCertVerifier that uses the trust anchors from the ONC policies. The MultiThreadedCertVerifier can optionally use a CertTrustAnchorProvider to get a list of additional certificates to trust, without importing them into the NSS database. This CL wraps the MultiThreadedCertVerifier with a custom verifier that includes a trust anchor provider. The trust anchor provider returns all the certificates from the user ONC policy that have the Web trust flag. The PolicyCertVerifier also writes a preference in the Profile once any such certificate is used. This feature is currently behind a flag, until a warning UI is implemented. The warning should be displayed if UsedPolicyCertificates() is true for the given profile. BUG=216495 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=192102

Patch Set 1 #

Patch Set 2 : fixed non-chromeos builds #

Total comments: 67

Patch Set 3 : rebase only, no changes #

Patch Set 4 : Addressed comments #

Total comments: 10

Patch Set 5 : addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+808 lines, -119 lines) Patch
M chrome/browser/chromeos/cros/mock_network_library.h View 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/cros/network_library.h View 1 2 3 2 chunks +6 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/cros/network_library_impl_base.h View 1 2 3 1 chunk +5 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/cros/network_library_impl_base.cc View 1 2 3 2 chunks +10 lines, -11 lines 0 comments Download
M chrome/browser/chromeos/cros/network_library_unittest.cc View 1 2 3 6 chunks +11 lines, -7 lines 0 comments Download
M chrome/browser/chromeos/policy/network_configuration_updater.h View 1 2 3 4 3 chunks +22 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/policy/network_configuration_updater.cc View 1 2 3 5 chunks +64 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/policy/network_configuration_updater_unittest.cc View 1 2 3 7 chunks +71 lines, -14 lines 0 comments Download
A chrome/browser/chromeos/policy/policy_cert_verifier.h View 1 2 3 4 1 chunk +50 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/policy/policy_cert_verifier.cc View 1 2 3 4 1 chunk +90 lines, -0 lines 0 comments Download
A chrome/browser/chromeos/policy/policy_cert_verifier_browsertest.cc View 1 2 3 4 1 chunk +280 lines, -0 lines 0 comments Download
M chrome/browser/policy/browser_policy_connector.h View 1 2 3 3 chunks +12 lines, -0 lines 0 comments Download
M chrome/browser/policy/browser_policy_connector.cc View 1 2 3 7 chunks +27 lines, -3 lines 0 comments Download
M chrome/browser/prefs/browser_prefs.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/profiles/profile_impl_io_data.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.h View 3 chunks +11 lines, -0 lines 0 comments Download
M chrome/browser/profiles/profile_io_data.cc View 1 2 3 4 5 chunks +20 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/net_internals/net_internals_ui.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M chrome/chrome_browser_chromeos.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/chrome_switches.h View 1 2 3 4 2 chunks +2 lines, -1 line 0 comments Download
M chrome/common/chrome_switches.cc View 1 2 3 4 3 chunks +8 lines, -3 lines 0 comments Download
M chrome/common/pref_names.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/pref_names.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer.h View 1 2 3 2 chunks +18 lines, -11 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer.cc View 1 2 3 8 chunks +52 lines, -42 lines 0 comments Download
M chromeos/network/onc/onc_certificate_importer_unittest.cc View 1 2 4 chunks +34 lines, -5 lines 0 comments Download
A + chromeos/test/data/network/certificate-authority.onc View 1 chunk +1 line, -4 lines 0 comments Download

Messages

Total messages: 15 (0 generated)
Joao da Silva
This CL introduces a PolicyCertVerifier that is only used for Profiles in ChromeOS, and is ...
7 years, 9 months ago (2013-03-24 15:12:21 UTC) #1
Ryan Sleevi
Initial phase of comments. Big issues with the "web trust" naming - suggestions below. https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/cros/network_library.h ...
7 years, 9 months ago (2013-03-25 21:09:53 UTC) #2
Ryan Sleevi
https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/policy_cert_verifier.cc File chrome/browser/chromeos/policy/policy_cert_verifier.cc (right): https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/policy_cert_verifier.cc#newcode57 chrome/browser/chromeos/policy/policy_cert_verifier.cc:57: new net::MultiThreadedCertVerifier(net::CertVerifyProc::CreateDefault()); On 2013/03/25 21:09:53, Ryan Sleevi wrote: > ...
7 years, 9 months ago (2013-03-25 23:55:31 UTC) #3
pneubeck (no reviews)
Reviewed the network/ONC related part. https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/network_configuration_updater.cc File chrome/browser/chromeos/policy/network_configuration_updater.cc (right): https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/network_configuration_updater.cc#newcode36 chrome/browser/chromeos/policy/network_configuration_updater.cc:36: // CertTrustAnchorProvider: in the ...
7 years, 9 months ago (2013-03-26 10:01:25 UTC) #4
pneubeck (no reviews)
https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/policy_cert_verifier.h File chrome/browser/chromeos/policy/policy_cert_verifier.h (right): https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/policy_cert_verifier.h#newcode24 chrome/browser/chromeos/policy/policy_cert_verifier.h:24: virtual int Verify(net::X509Certificate* cert, mention that |callback| may be ...
7 years, 9 months ago (2013-03-26 11:04:50 UTC) #5
Joao da Silva
Thanks for all the comments! Please have another look. Also adding reviewers for owners checks: ...
7 years, 8 months ago (2013-03-31 19:22:14 UTC) #6
Greg Spencer (Chromium)
LGTM for chrome/browser/chromeos/cros changes. https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/network_configuration_updater.h File chrome/browser/chromeos/policy/network_configuration_updater.h (right): https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/network_configuration_updater.h#newcode61 chrome/browser/chromeos/policy/network_configuration_updater.h:61: // This getter must be ...
7 years, 8 months ago (2013-04-01 16:03:41 UTC) #7
pneubeck (no reviews)
LGTM https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/policy_cert_verifier.cc File chrome/browser/chromeos/policy/policy_cert_verifier.cc (right): https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/policy_cert_verifier.cc#newcode38 chrome/browser/chromeos/policy/policy_cert_verifier.cc:38: void CallbackWrapper(void* profile, to replace some of the ...
7 years, 8 months ago (2013-04-02 08:12:07 UTC) #8
jochen (gone - plz use gerrit)
*.gypi lgtm
7 years, 8 months ago (2013-04-02 10:01:05 UTC) #9
Ryan Sleevi
lgtm https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/network_configuration_updater.cc File chrome/browser/chromeos/policy/network_configuration_updater.cc (right): https://codereview.chromium.org/13035003/diff/4001/chrome/browser/chromeos/policy/network_configuration_updater.cc#newcode168 chrome/browser/chromeos/policy/network_configuration_updater.cc:168: base::Passed(&web_trust_certs))); On 2013/03/31 19:22:14, Joao da Silva wrote: ...
7 years, 8 months ago (2013-04-02 19:16:06 UTC) #10
mmenke
Rubberstamp LGTM on profiles/ and net_internals. On 2013/04/02 19:16:06, Ryan Sleevi wrote: > lgtm > ...
7 years, 8 months ago (2013-04-02 19:24:19 UTC) #11
Joao da Silva
Thanks for all the comments! https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/network_configuration_updater.h File chrome/browser/chromeos/policy/network_configuration_updater.h (right): https://codereview.chromium.org/13035003/diff/26001/chrome/browser/chromeos/policy/network_configuration_updater.h#newcode61 chrome/browser/chromeos/policy/network_configuration_updater.h:61: // This getter must ...
7 years, 8 months ago (2013-04-03 15:24:39 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/joaodasilva@chromium.org/13035003/62001
7 years, 8 months ago (2013-04-03 15:24:56 UTC) #13
commit-bot: I haz the power
Retried try job too often on linux_chromeos for step(s) browser_tests http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_chromeos&number=99236
7 years, 8 months ago (2013-04-03 17:59:25 UTC) #14
Joao da Silva
7 years, 8 months ago (2013-04-03 18:19:03 UTC) #15
Message was sent while issue was closed.
Committed patchset #5 manually as r192102 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698