You trust Microsoft Entra ID™ for user credentials. It trusts AD CS for the certificates.
Entra ID isn’t a certificate authority. It validates certificates your CA issued, against a root you upload into its trust store. Where that CA is AD CS, your Wi-Fi, VPN, and 802.1X rest on a Windows Server® role built for domain-joined Windows. Smallstep replaces it without touching your root.

Entra ID validates certificates. Your CA issues them.
Turn on certificate-based authentication and Entra asks you to upload a CA into its trust store, then validates what users present against it. Cloud PKI can issue to Intune-enrolled devices, but it is a separate Intune add-on, it issues over SCEP, and it doesn’t reach Linux or anything outside Intune. Keep Intune and replace the CA behind it: Smallstep syncs your Intune inventory and delivers certificates through it.
- Entra CBA trusts only the CAs you upload
- Cloud PKI is Intune-only, SCEP-only, separately licensed
- Wi-Fi, VPN, and 802.1X still run off your own CA

A modern identity platform is only as strong as the CA beneath it.
Microsoft hasn’t abandoned AD CS. Post-quantum ML-DSA support shipped for Windows Server 2025 in May 2026. What hasn’t changed is the shape of it. AD CS can prove a key lives in a TPM, but only for Windows clients enrolling against an enterprise CA through certificate templates, only for RSA keys, and not over SCEP or NDES, which carry no attestation and are how most of the fleet enrolls. Everything else gets a certificate with no proof of where its private key was born.

Attackers already have a playbook for this CA.
SpecterOps documented domain escalation through AD CS in Certified Pre-Owned. In nearly every network they assessed, low-privileged users “almost always had the ability to immediately compromise the Active Directory forest.” Template sprawl, permissive enrollment, and private keys sitting unprotected on servers are the normal state. Smallstep holds signing keys in an HSM (or your KMS when self-hosted), logs every use, and ships hardened defaults rather than relying on template hygiene.

Entra proves the person. Smallstep proves the machine.
Two different questions, and neither answer substitutes for the other. Entra establishes who the user is and which factor they presented. Smallstep establishes which machine the private key is on, by requiring that key to be born in a TPM or Secure Enclave and attested before anything is signed. We don’t replace Entra. We replace the CA it was already trusting.

Three ways in. None of them a cutover.
Replace AD CS outright. Or run both side by side, issuing from an intermediate signed by your existing root, and move one use case at a time. Or put Smallstep in front as a registration authority, so attestation happens before your existing CA signs. The deployment shape is a decision you make per environment, not a condition of getting started.

Keep the root. Every client already trusts it, Entra included.
Upload your AD CS root certificate, sign a Smallstep intermediate with it, and everything that trusts your existing root trusts the new CA from the first day, including the copy in your Entra trust store. No client re-trust, no fleet-wide reissue, no maintenance window. Your root private key never leaves your offline CA.

One PKI, every platform in the fleet.
Windows, macOS, iOS, Linux, and ChromeOS. Smallstep applies one issuance policy across them, anchored to the TPM, the Secure Enclave, or Verified Access, and keeps SCEP and NDES emulation running for whatever is not ready to move.
Keep Entra. Keep the root. Retire the server.
Hardware-attested enrollment, automated certificate lifecycle, and legacy protocol support so your clients do not have to change on day one. Migrate at the pace your network can absorb.