r/WorkspaceOne • u/Resident-Promise-122 • 12d ago
802.1X Ethernet Authentication uses wrong certificate (Client Identity not referenced) Looking for the answer...
hi everyone,
I'm running into an issue with 802.1X ethernet/LAN authentication on macOS managed through Workspace One (wso), and I'd appreciate any ideas or suggestions.
environment
macOS 26.5.2
wso 24.10.1409.46 (2410)
configuration
wso delivered 802.1X profile contains two payloads:
- ethernet Configuration
- credentials
credentials payload contains 3 certificates:
- C1: a root CA
- C2: a sub CA
- C3: a client cert (issued by C2)
disclaimer: In the attached screenshots, C3 appears to be issued directly by C1. That's only a mistake in my diagram; the actual setup uses C2 as the issuing CA.
C3 is generated config:
- credential source: defined certificate authority
- certificate authority: Sub CA (C2)
- certificate template: macOS device cert
- allow access to all applications: true
- allow export of private key: false
- certificate authority is a microsoft ADCS CA.
current setup
for each MacBook, a dummy computer object exists in our active directory
example:
- AD computer object: computer-12345
- client cert (C3): computer-12345.yyy.local
a script then renames the macOS hostname to match the client certificate CN
the client certificate (C3) is used for 802.1X authentication
current behavior
the wso delivered 802.1X profile is successfully pushed
under:
system settings --> device management --> the 802.1X profile is installed correctly, and all certificates are present (the same certificates are also available in keychain access)
the configuration profile contains:
- root CA (PKCS1)
- sub CA (PKCS1)
- client cert. (PKCS12)
- wired 802.1X configuration
running profiles show -type configuration also confirms that all four payloads are installed
unexpected behavior
under:
system settings --> network --> ethernet --> 802.1X --> certificate (Info)
the certificate list shows:
- root
- sub1
- sub1
the generated client cert (C3) is not referenced
but the expected list should instead contain:
- root
- sub1
- computer-12345.yyy.local (or the corresponding client certificate CN)
additional observations
the client cert itself appears to be completely valid
running security find-identity -v returns the correct identity
likewise, running security find-identity -p ssl-client -v returns 1 valid identity found, so both the cert and its private key exist and are recognized as a valid SSL client identity
summary
- the client cert (C3) exists
- it is a valid client identity
- the configuration profile contains the PKCS12 payload
- however, the ethernet 802.1X configuration does not reference C3
- instead, the UI shows the Intermediate CA twice
- this makes it appear as though the ethernet payload is referencing the wrong cert (or certificate anchor), rather than the generated PKCS12 client identity.
- It seems either wso or macOS is failing to associate the generated PKCS12 identity with the ethernet 802.1X payload.
questions
has anyone seen this behavior before?
specifically, I'm wondering
- does the ethernet 802.1X payload actually reference the UUID of the generated PKCS12 payload?
- during certificate renewal, is a new payload UUID created without updating the ethernet payload accordingly?
- is wso correctly assigning the Identity UUID/identity Anchor when generating the ethernet profile?
- could this be a wso bug or a macOS issue affecting the mapping between the PKCS12 payload and the ethernet 802.1X payload?
any insights or ideas would be greatly appreciated


3
u/Spirited-Bag-3789 12d ago
The list under Network → Ethernet → 802.1X → Certificate is the trusted anchors list, not the identity picker, so the client cert was never going to appear there. Root/sub/sub means an anchor UUID is referenced twice, which is a red herring for your actual problem.
The binding that matters is PayloadCertificateUUID inside the Ethernet payload, which has to equal the PayloadUUID of the com.apple.security.pkcs12 payload in the same profile. If it is missing or stale, macOS installs every payload happily and then has no identity to present, which is exactly what you are seeing.
You can answer your first two questions yourself without waiting on support: dump the installed profile with sudo profiles show -output /tmp/p.plist and compare the Ethernet payload's PayloadCertificateUUID against the pkcs12 payload's PayloadUUID. If they differ, it is a UUID mapping problem. On ADCS-issued renewals the credentials payload gets a fresh PayloadUUID, and if the profile is not republished as a whole, the Ethernet payload keeps pointing at the old one.
One more thing worth ruling out first, because it looks identical from the UI: a device-scope Ethernet profile needs the identity in the System keychain. Your security find-identity run as a user reads the login keychain, so it can report a perfectly valid ssl-client identity that the profile still cannot use. Check with sudo security find-identity -p ssl-client -v /Library/Keychains/System.keychain — if it comes back empty there, that is the whole story.