Skip to content

Add ChromeOS Wi-Fi enrollment via ACME Device Attestation - #546

Draft
llewis1234 wants to merge 8 commits into
smallstep:mainfrom
llewis1234:docs/chromeos-wifi-enrollment
Draft

Add ChromeOS Wi-Fi enrollment via ACME Device Attestation#546
llewis1234 wants to merge 8 commits into
smallstep:mainfrom
llewis1234:docs/chromeos-wifi-enrollment

Conversation

@llewis1234

Copy link
Copy Markdown

Summary

  • Adds a "ChromeOS with Google Workspace (ACME Device Attestation)" section to the wireless networks guide, covering RADIUS server config, the EAP-TLS Wi-Fi network setup in Google Admin, setting the issuer pattern, and verification/troubleshooting
  • Replaces the old inline Wi-Fi certificate auto-selection steps in the browser certificate setup guide with a pointer to the new section, since the two now depend on the same underlying device identity certificate

Blocked on #545 — this branch is stacked on top of it, so the diff below currently includes #545's changes too. Once #545 merges, this diff will automatically collapse down to just this PR's own changes and it'll be ready for review. Opening now as a draft so it's visible and trackable rather than sitting only in my fork.

Test plan

  • vale run against changed files (noise-filtered against house style — no unaddressed findings)
  • markdown-link-check run against changed files — all internal/external links resolve once Add ChromeOS device identity certificates tutorial #545 is merged
  • Visual preview via the docs renderer (not yet done — recommend before merge)

🤖 Generated with Claude Code

Documents issuing mTLS-capable device identity certificates to ChromeOS
devices enrolled via Google Workspace, distinct from the short-lived
attestation certificate issued automatically on enrollment.
Extracted from an earlier, unmerged draft (PR-A). Adds the missing
prerequisite the device identity certificates tutorial's "extension
deployed" step assumed but this guide never actually covered: enabling
the Verified Access API, granting the verifiedaccess OAuth scope,
Verified Access Mode, and installing/force-configuring the extension
itself. The canonical extension update URL is left flagged inline
(unresolved from the earlier draft) rather than guessed.
The Wi-Fi enrollment content lives in protect-wireless-networks.mdx's
new ChromeOS section, not a standalone page. Point both references
there instead.
The troubleshooting section referenced required policies and cert
verification without pointing to where they're actually configured or
explained, now that both exist.
Matches the link style convention used elsewhere in the repo, including
the docs/chromeos-wifi-enrollment branch.
Matches the sentence-case convention used by this file's other
numbered step headings.
@CLAassistant

CLAassistant commented Aug 1, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

Adds a ChromeOS subsection to the MDM-managed clients list in the
wireless networks tutorial, covering RADIUS and EAP-TLS Wi-Fi config
through Google Admin. Consolidates the browser cert guide's separate
Wi-Fi auto-selection subsection into this new section so the two
don't drift out of sync.
Both files live in tutorials/, so use ./protect-wireless-networks.mdx
like other same-directory cross-links in this repo, instead of the
functionally-equivalent but inconsistent ../tutorials/ form.
@llewis1234
llewis1234 force-pushed the docs/chromeos-wifi-enrollment branch from d79ea11 to 0b3c143 Compare August 1, 2026 07:37
Comment on lines +800 to +801
using ACME Device Attestation against Google's Chrome Verified Access API — not through an MDM profile push,
and not through Smallstep's Wi-Fi or credential resources described above.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

— not through an MDM profile push, and not through Smallstep's Wi-Fi or credential resources described above. can be removed.


<Alert severity="info" mb={4}>
<div>
Skip Step 1 (credential) and the Wi-Fi resource created at the top of Step 3 for ChromeOS. Neither applies here: the client certificate comes from Certificate Manager directly, and the Wi-Fi network profile is delivered by Google Admin rather than by Smallstep.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Eventually we'll want these resources to still be created, so that the ChromeOS agent can get a full configuration, with more use cases automatically handled. We'll have to ensure that we have docs on root distribution for all use cases configured for ChromeOS.


If it doesn't connect:

- **No RADIUS traffic at all** — the device never associated. This is always a client-side certificate selection failure; recheck the issuer pattern above, not the network or access point.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or no cert issued at all, which can have a few causes.

If it doesn't connect:

- **No RADIUS traffic at all** — the device never associated. This is always a client-side certificate selection failure; recheck the issuer pattern above, not the network or access point.
- **`unknown CA` / `unable to get local issuer certificate`** — the RADIUS server's trust store is missing the issuing authority's root or intermediate.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe just the root is sufficient. The ChromeOS EAP-TLS handshake includes the client intermediate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants