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

Issue 2186623002: Minimal attestation-based enrollment flow. (Closed)

Created:
4 years, 4 months ago by The one and only Dr. Crash
Modified:
4 years, 4 months ago
CC:
chromium-reviews, dzhioev+watch_chromium.org, achuith+watch_chromium.org, oshima+watch_chromium.org, davemoore+watch_chromium.org, dkalin1
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

A minimal attestation-based enrollment flow during OOBE. If --enterprise-enable-zero-touch-enrollment is present on the command line, attestation-based will be tried. If it fails, the user will be allowed to fall back to the regular flow unless the flag was passed as --enterprise-enable-zero-touch-enrollment=forced, in which case they cannot exit from the attestation-based enrollment unless it is successful. Depending on whether enrollment was requested by the user (CTRL+ALT+E) or the system or not, the user who exits from the attestation-based enrollment flow will be presented the enrollment screen or the login screen, as before. Additionally, wires in the call to the attestation flow class to request a registration certificate. An error is forced at that point until we also wire in the new DM server registration call needed to use the certificate. BUG=624187 TEST=browser tests CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:closure_compilation Committed: https://crrev.com/0f9078a5de400aee06acfa4787e41222b51fae16 Cr-Commit-Position: refs/heads/master@{#413992}

Patch Set 1 #

Patch Set 2 : Revamp. Handle errors. #

Patch Set 3 : Fied nullptr, add Auth enum. #

Patch Set 4 : Wired flow with fallback. #

Patch Set 5 : Rebased master to pickup other enrollment changes. #

Patch Set 6 : Finished UX flow. Added browser tests. #

Patch Set 7 : Made ZTE independent of enterprise enrollment. #

Total comments: 10

Patch Set 8 : Addressed feedback. #

Patch Set 9 : Fixed OAuth DCHECK() that were tripping SAML tests. Added enrollment screen browser test. #

Patch Set 10 : Rebased after 2265163002 so we can pass presubmit. #

Total comments: 31

Patch Set 11 : Addressed achuithb's feedback. #

Patch Set 12 : Addressed achuithb's feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+405 lines, -124 lines) Patch
M chrome/app/chromeos_strings.grdp View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/chromeos/login/enrollment/enrollment_screen.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +29 lines, -3 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enrollment_screen.cc View 1 2 3 4 5 6 7 8 9 10 9 chunks +81 lines, -16 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enrollment_screen_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +134 lines, -6 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enrollment_uma.cc View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper.h View 1 chunk +7 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper_impl.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +10 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper_impl.cc View 1 2 3 4 5 6 7 8 9 10 8 chunks +44 lines, -34 lines 0 comments Download
M chrome/browser/chromeos/login/enrollment/enterprise_enrollment_helper_mock.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/chromeos/login/screens/base_screen.h View 1 2 3 4 5 6 7 8 1 chunk +4 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/login/wizard_controller.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/login/wizard_controller.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +7 lines, -5 lines 0 comments Download
M chrome/browser/chromeos/policy/device_cloud_policy_initializer.cc View 1 2 3 4 7 1 chunk +0 lines, -1 line 0 comments Download
M chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h View 1 2 3 4 5 6 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.cc View 1 2 3 4 5 6 2 chunks +0 lines, -12 lines 0 comments Download
M chrome/browser/chromeos/policy/enrollment_config.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +32 lines, -2 lines 0 comments Download
M chrome/browser/chromeos/policy/enrollment_handler_chromeos.h View 1 2 3 4 5 3 chunks +12 lines, -4 lines 0 comments Download
M chrome/browser/chromeos/policy/enrollment_handler_chromeos.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +27 lines, -27 lines 0 comments Download
M chrome/browser/ui/webui/chromeos/login/enrollment_screen_handler.cc View 1 2 3 4 5 6 3 chunks +4 lines, -2 lines 0 comments Download
M components/policy/proto/device_management_backend.proto View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 49 (30 generated)
The one and only Dr. Crash
Please have a look. Thanks!
4 years, 4 months ago (2016-07-27 10:53:06 UTC) #3
The one and only Dr. Crash
4 years, 4 months ago (2016-07-29 18:00:48 UTC) #5
Thiemo Nagel
Could you please do a rebase once the other CL has landed? Also it seems ...
4 years, 4 months ago (2016-08-11 08:58:07 UTC) #7
The one and only Dr. Crash
Flow is complete and I added browser tests.
4 years, 4 months ago (2016-08-17 20:03:30 UTC) #12
The one and only Dr. Crash
4 years, 4 months ago (2016-08-18 04:17:25 UTC) #14
The one and only Dr. Crash
After the most recent changes I made to allow ZTE to work whether interactive enrollment ...
4 years, 4 months ago (2016-08-18 04:22:43 UTC) #15
pastarmovj
some comments from me, but I think Thiemo should give the final approval seal because ...
4 years, 4 months ago (2016-08-19 10:29:18 UTC) #19
The one and only Dr. Crash
https://codereview.chromium.org/2186623002/diff/140001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc File chrome/browser/chromeos/login/enrollment/enrollment_screen.cc (right): https://codereview.chromium.org/2186623002/diff/140001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc#newcode112 chrome/browser/chromeos/login/enrollment/enrollment_screen.cc:112: if (current_auth_ == last_auth_) { On 2016/08/19 10:29:18, pastarmovj ...
4 years, 4 months ago (2016-08-19 17:49:30 UTC) #20
pastarmovj
lgtm
4 years, 4 months ago (2016-08-22 11:44:15 UTC) #29
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/2186623002/180001
4 years, 4 months ago (2016-08-22 14:49:23 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/242944)
4 years, 4 months ago (2016-08-22 14:58:15 UTC) #33
The one and only Dr. Crash
On 2016/08/22 11:44:15, pastarmovj wrote: > lgtm Thanks. FIY I have extracted the changes to ...
4 years, 4 months ago (2016-08-22 15:36:45 UTC) #34
The one and only Dr. Crash
+achuithb, could you have a look at the CL?
4 years, 4 months ago (2016-08-23 15:17:39 UTC) #35
achuithb
https://codereview.chromium.org/2186623002/diff/200001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc File chrome/browser/chromeos/login/enrollment/enrollment_screen.cc (right): https://codereview.chromium.org/2186623002/diff/200001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc#newcode65 chrome/browser/chromeos/login/enrollment/enrollment_screen.cc:65: shark_controller_(NULL), We prefer in-class initialization. Also, change this NULL ...
4 years, 4 months ago (2016-08-23 18:16:45 UTC) #36
The one and only Dr. Crash
https://codereview.chromium.org/2186623002/diff/200001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc File chrome/browser/chromeos/login/enrollment/enrollment_screen.cc (right): https://codereview.chromium.org/2186623002/diff/200001/chrome/browser/chromeos/login/enrollment/enrollment_screen.cc#newcode65 chrome/browser/chromeos/login/enrollment/enrollment_screen.cc:65: shark_controller_(NULL), On 2016/08/23 18:16:44, achuithb wrote: > We prefer ...
4 years, 4 months ago (2016-08-23 21:24:19 UTC) #37
achuithb
lgtm
4 years, 4 months ago (2016-08-23 21:26:33 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/2186623002/240001
4 years, 4 months ago (2016-08-24 05:17:07 UTC) #45
commit-bot: I haz the power
Committed patchset #12 (id:240001)
4 years, 4 months ago (2016-08-24 06:13:22 UTC) #47
commit-bot: I haz the power
4 years, 4 months ago (2016-08-24 06:14:51 UTC) #49
Message was sent while issue was closed.
Patchset 12 (id:??) landed as
https://crrev.com/0f9078a5de400aee06acfa4787e41222b51fae16
Cr-Commit-Position: refs/heads/master@{#413992}

Powered by Google App Engine
This is Rietveld 408576698