GuíasGuides · Nivel 3Level 3

NDES y Cloud PKI: certificados a los dispositivos desde Intune para Wi-Fi y VPNNDES and Cloud PKI: certificates to devices from Intune for Wi-Fi and VPN

Las dos formas de dar certificados con Intune (NDES con tu CA de Windows o Microsoft Cloud PKI), los perfiles de certificado raíz y SCEP, el perfil de Wi-Fi que los usa y el certificado que nunca llega.The two ways of issuing certificates with Intune (NDES with your Windows CA or Microsoft Cloud PKI), the root and SCEP certificate profiles, the Wi-Fi profile that uses them, and the certificate that never arrives.

Qué vas a conseguir

Que los portátiles y móviles gestionados se conecten a la Wi-Fi corporativa (y a la VPN) con un certificado en lugar de la contraseña del usuario: sin ventanas de credenciales, sin contraseñas de Wi-Fi guardadas en el móvil personal y con revocación al retirar el dispositivo. Dos caminos para emitirlos; eliges uno.

Antes de empezar

  • Dispositivos enrolados y conformes (guía de Intune).
  • El RADIUS/NPS o el controlador Wi-Fi configurados para EAP-TLS confiando en la CA que emitirá (lo hace quien gestiona la red; necesita el certificado raíz del paso 2).
  • Camino A (NDES): una CA empresarial de Windows (AD CS) en marcha, un servidor Windows para NDES y el conector de certificados de Intune. Más piezas, pero reutiliza la PKI que ya tienes.
  • Camino B (Cloud PKI): licencia Intune Suite o el complemento Cloud PKI. Sin servidores; Microsoft aloja la CA.

1. Elegir el camino y crear la CA

Intune · Cloud PKI (camino B)
Administración de inquilinosCloud PKICrear
NombreContoso Device Root CA
Tipo de CARaíz
Validez10 años · Algoritmo: RSA 4096 · SHA-256
Crear
Cloud PKICrear
NombreContoso Device Issuing CA
Tipo de CAEmisora · CA raíz: Contoso Device Root CA
Validez5 años · Usos extendidos de clave: Autenticación de cliente, Autenticación de servidor
URI de SCEPhttps://… (generado al crear)
Crear

Con Cloud PKI, dos clics dan la raíz y la emisora, y la URI de SCEP que usarás en el paso 3. Con NDES el equivalente es: plantilla de certificado en AD CS para NDES, servidor NDES con el rol instalado, conector de Intune en ese servidor, y la URL pública del NDES (normalmente detrás de Entra Application Proxy). Microsoft tiene la lista de pasos; la parte que más falla es la cuenta de servicio de NDES y el SPN.

2. El certificado raíz en los dispositivos

pwsh · CA de Windows (camino A) o descarga desde Cloud PKI (camino B)
certutil -ca.cert contoso-root.cer       # camino A: exporta la raíz desde la CAcertutil -dump contoso-root.cer | Select-String "Subject:|NotAfter"Subject: CN=Contoso Root CA, DC=contoso, DC=localNotAfter: 14/03/2035 10:02
Intune · Configuración › Certificado de confianza
DispositivosConfiguraciónCrearWindows 10 and laterPlantillasCertificado de confianza
NombreCert - Root CA - Windows
Archivo de certificadocontoso-root.cer
Almacén de destinoAlmacén de certificados del equipo: raíz
AsignacionesTodos los usuarios · Filtro: f-windows-corp
Crear

Un perfil de raíz por plataforma (Windows, macOS, iOS/iPadOS, Android Enterprise), con el mismo fichero. Es el que hace que el dispositivo confíe en el RADIUS y en los certificados que va a recibir. Si tu CA emisora es intermedia, también va su certificado en otro perfil.

3. El perfil SCEP

Intune · Configuración › Certificado SCEP
DispositivosConfiguraciónCrearWindows 10 and laterPlantillasCertificado SCEP
NombreCert - Device Auth SCEP - Windows
Tipo de certificadoDispositivo
Formato del nombre del firmanteCN={{DeviceName}},O=Contoso
Nombre alternativo del firmanteURI = IntuneDeviceId://{{DeviceId}}
Periodo de validez1 año · Tamaño de clave: 2048 · Algoritmo hash: SHA-2
Uso de la claveFirma digital, Cifrado de clave
Uso mejorado de claveAutenticación de cliente (1.3.6.1.5.5.7.3.2)
Umbral de renovación20 %
Certificado raízCert - Root CA - Windows
URL del servidor SCEPhttps://scep.contoso.com/certsrv/mscep/mscep.dll (A) · https://…cloudpki…/scep (B)
AsignacionesTodos los usuarios · Filtro: f-windows-corp
Crear

Certificado de dispositivo con el nombre del equipo para Wi-Fi corporativa (el equipo se conecta antes de que nadie inicie sesión); de usuario (CN={{UserPrincipalName}}) para VPN cuando el acceso depende de la persona. El umbral de renovación del 20 % hace que Intune pida uno nuevo cuando quede un quinto de validez: nadie se queda sin Wi-Fi el día que caduca.

4. El perfil de Wi-Fi que lo usa

Intune · Configuración › Wi-Fi
DispositivosConfiguraciónCrearWindows 10 and laterPlantillasWi-FiEmpresa
NombreWi-Fi - Contoso-Corp - Windows
Nombre de la red Wi-Fi (SSID)Contoso-Corp
Conectarse automáticamente
Tipo de EAPEAP-TLS
Confianza del servidor › Nombres de servidor de certificadoradius01.contoso.local; radius02.contoso.local
Certificados raíz para la validación del servidorCert - Root CA - Windows
Método de autenticación de clienteCertificado SCEP → Cert - Device Auth SCEP - Windows
AsignacionesTodos los usuarios · Filtro: f-windows-corp
Crear

Tres perfiles encadenados: raíz → SCEP → Wi-Fi. El orden de llegada lo gestiona Intune (el perfil de Wi-Fi espera al certificado), pero en el primer despliegue da margen: asigna raíz y SCEP, espera a ver certificados emitidos, y luego el de Wi-Fi.

5. El certificado que no llega

pwsh · LAPTOP-7F2K9Q
Get-ChildItem Cert:\LocalMachine\My | Where-Object Issuer -like "*Contoso Device Issuing*" | Select-Object Subject, NotAfter, Thumbprint# (vacío: no hay certificado)Get-WinEvent -LogName "Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin" -MaxEvents 200 | Where-Object Message -match "SCEP" | Select-Object -First 3 TimeCreated, Id, MessageTimeCreated          Id    Message-----------          --    -------22/10/2026 09:31:04  32    SCEP: Certificate enroll failed. Result: (The server returned an error: 0x80070005 Access denied). ...
Intune · Estado del perfil SCEP
DispositivosConfiguraciónCert - Device Auth SCEP - WindowsEstado del dispositivo
LAPTOP-7F2K9Q · Error · 0x80070005
Administración de inquilinosConectores y tokensConectores de certificados (camino A)
srv-ndes-01 · EstadoActivo · Última conexión: 22/10/2026 09:30

Los cuatro sospechosos, en orden:

SíntomaDónde mirarCausa típica
Error en el estado del perfil, en todos los dispositivosConector de certificados (A) o estado de la CA (B)Conector caído o cuenta de servicio de NDES con la contraseña caducada
Error solo en algunos dispositivosEvento 32 en el dispositivoEl dispositivo no alcanza la URL de SCEP (proxy, firewall, Application Proxy sin publicar)
0x80070005 / Access deniedNDES: C:\Windows\System32\certsrv\mscep y plantilla en AD CSLa plantilla no permite "Suministrar en la solicitud" o la cuenta de NDES no tiene Enroll
Certificado emitido, Wi-Fi no conectaRegistro del RADIUS/NPS (evento 6273)El RADIUS no confía en la emisora, o el SAN no coincide con lo que espera

Lo que no haces: reemitir a mano desde la CA. Si el dispositivo no puede pedirlo solo, tampoco podrá renovarlo.

6. Lo que revisas cada mes

  • Perfil SCEP: dispositivos en Error frente a Correcto (Estado del dispositivo), y la tendencia tras cada cambio de red.
  • Caducidad de la CA emisora y del certificado del RADIUS: ambos en el calendario con un año de antelación.
  • Dispositivos retirados en Intune cuyo certificado sigue válido: con Cloud PKI, Cloud PKI → la CA → Certificados emitidos → Revocar; con NDES, la revocación en la CA y la CRL publicada.
  • (Camino A) Get-Service -Name W3SVC, "Intune Connector Service" en el NDES y la cuenta de servicio en la lista de contraseñas que caducan.

Siguientes pasos

  • El mismo certificado de usuario para la VPN (perfil VPN con EAP-TLS) y, con Entra ID, la autenticación basada en certificados (CBA) para quien no puede usar la app Authenticator.
  • PKCS en lugar de SCEP cuando el certificado tiene que incluir la clave privada generada por la CA (S/MIME); mismo conector, otro perfil.
  • Documenta en Confluence (Nivel 2) la cadena completa: raíz, emisora, URL de SCEP, RADIUS y a quién llamar. Es el runbook que se abre el día que caduque algo.

¿Falta algo o en tu entorno es distinto? Escríbeme y lo corrijo.

What you'll get

Managed laptops and phones connect to the corporate Wi-Fi (and the VPN) with a certificate instead of the user's password: no credential prompts, no Wi-Fi passwords saved on the personal phone, and revocation when the device is retired. Two paths to issue them; you pick one.

Before you start

  • Devices enrolled and compliant (Intune guide).
  • The RADIUS/NPS or the Wi-Fi controller configured for EAP-TLS, trusting the CA that will issue (whoever manages the network does this; they need the root certificate from step 2).
  • Path A (NDES): a Windows enterprise CA (AD CS) running, a Windows server for NDES and the Intune Certificate Connector. More parts, but it reuses the PKI you already have.
  • Path B (Cloud PKI): an Intune Suite licence or the Cloud PKI add-on. No servers; Microsoft hosts the CA.

1. Choose the path and create the CA

Intune · Cloud PKI (path B)
Tenant administrationCloud PKICreate
NameContoso Device Root CA
CA typeRoot
Validity10 years · Algorithm: RSA 4096 · SHA-256
Create
Cloud PKICreate
NameContoso Device Issuing CA
CA typeIssuing · Root CA: Contoso Device Root CA
Validity5 years · Extended key usages: Client Authentication, Server Authentication
SCEP URIhttps://… (generated on creation)
Create

With Cloud PKI, two clicks give you the root and the issuing CA, plus the SCEP URI you will use in step 3. With NDES the equivalent is: a certificate template in AD CS for NDES, an NDES server with the role installed, the Intune connector on that server, and the public URL of NDES (usually behind Entra Application Proxy). Microsoft has the step list; the part that fails most is the NDES service account and the SPN.

2. The root certificate on the devices

pwsh · Windows CA (path A) or download from Cloud PKI (path B)
certutil -ca.cert contoso-root.cer       # path A: export the root from the CAcertutil -dump contoso-root.cer | Select-String "Subject:|NotAfter"Subject: CN=Contoso Root CA, DC=contoso, DC=localNotAfter: 14/03/2035 10:02
Intune · Configuration › Trusted certificate
DevicesConfigurationCreateWindows 10 and laterTemplatesTrusted certificate
NameCert - Root CA - Windows
Certificate filecontoso-root.cer
Destination storeComputer certificate store - Root
AssignmentsAll users · Filter: f-windows-corp
Create

One root profile per platform (Windows, macOS, iOS/iPadOS, Android Enterprise), with the same file. It is what makes the device trust the RADIUS and the certificates it is about to receive. If your issuing CA is an intermediate, its certificate goes in another profile too.

3. The SCEP profile

Intune · Configuration › SCEP certificate
DevicesConfigurationCreateWindows 10 and laterTemplatesSCEP certificate
NameCert - Device Auth SCEP - Windows
Certificate typeDevice
Subject name formatCN={{DeviceName}},O=Contoso
Subject alternative nameURI = IntuneDeviceId://{{DeviceId}}
Validity period1 year · Key size: 2048 · Hash algorithm: SHA-2
Key usageDigital signature, Key encipherment
Extended key usageClient Authentication (1.3.6.1.5.5.7.3.2)
Renewal threshold20%
Root certificateCert - Root CA - Windows
SCEP server URLhttps://scep.contoso.com/certsrv/mscep/mscep.dll (A) · https://…cloudpki…/scep (B)
AssignmentsAll users · Filter: f-windows-corp
Create

A device certificate with the computer name for corporate Wi-Fi (the device connects before anyone signs in); a user one (CN={{UserPrincipalName}}) for VPN when access depends on the person. The 20% renewal threshold makes Intune request a new one when a fifth of the validity remains: nobody loses Wi-Fi on expiry day.

4. The Wi-Fi profile that uses it

Intune · Configuration › Wi-Fi
DevicesConfigurationCreateWindows 10 and laterTemplatesWi-FiEnterprise
NameWi-Fi - Contoso-Corp - Windows
Wi-Fi name (SSID)Contoso-Corp
Connect automatically
EAP typeEAP-TLS
Server Trust › Certificate server namesradius01.contoso.local; radius02.contoso.local
Root certificates for server validationCert - Root CA - Windows
Client authentication methodSCEP certificate → Cert - Device Auth SCEP - Windows
AssignmentsAll users · Filter: f-windows-corp
Create

Three chained profiles: root → SCEP → Wi-Fi. Intune handles the arrival order (the Wi-Fi profile waits for the certificate), but on the first rollout give it room: assign root and SCEP, wait until you see certificates issued, then the Wi-Fi one.

5. The certificate that never arrives

pwsh · LAPTOP-7F2K9Q
Get-ChildItem Cert:\LocalMachine\My | Where-Object Issuer -like "*Contoso Device Issuing*" | Select-Object Subject, NotAfter, Thumbprint# (empty: no certificate)Get-WinEvent -LogName "Microsoft-Windows-DeviceManagement-Enterprise-Diagnostics-Provider/Admin" -MaxEvents 200 | Where-Object Message -match "SCEP" | Select-Object -First 3 TimeCreated, Id, MessageTimeCreated          Id    Message-----------          --    -------22/10/2026 09:31:04  32    SCEP: Certificate enroll failed. Result: (The server returned an error: 0x80070005 Access denied). ...
Intune · SCEP profile status
DevicesConfigurationCert - Device Auth SCEP - WindowsDevice status
LAPTOP-7F2K9Q · Error · 0x80070005
Tenant administrationConnectors and tokensCertificate connectors (path A)
srv-ndes-01 · StatusActive · Last connection: 22/10/2026 09:30

The four suspects, in order:

SymptomWhere to lookTypical cause
Error in the profile status, on every deviceCertificate connector (A) or CA status (B)Connector down or NDES service account with an expired password
Error on some devices onlyEvent 32 on the deviceThe device cannot reach the SCEP URL (proxy, firewall, Application Proxy not published)
0x80070005 / Access deniedNDES: C:\Windows\System32\certsrv\mscep and the template in AD CSThe template does not allow "Supply in the request" or the NDES account lacks Enroll
Certificate issued, Wi-Fi does not connectRADIUS/NPS log (event 6273)RADIUS does not trust the issuing CA, or the SAN does not match what it expects

What you don't do: reissue by hand from the CA. If the device cannot request it on its own, it won't be able to renew it either.

6. What you review each month

  • SCEP profile: devices in Error versus Succeeded (Device status), and the trend after every network change.
  • Expiry of the issuing CA and of the RADIUS certificate: both in the calendar a year ahead.
  • Devices retired in Intune whose certificate is still valid: with Cloud PKI, Cloud PKI → the CA → Issued certificates → Revoke; with NDES, revocation at the CA and the CRL published.
  • (Path A) Get-Service -Name W3SVC, "Intune Connector Service" on the NDES and the service account in the expiring-passwords list.

Next steps

  • The same user certificate for the VPN (VPN profile with EAP-TLS) and, with Entra ID, certificate-based authentication (CBA) for people who cannot use the Authenticator app.
  • PKCS instead of SCEP when the certificate must include a CA-generated private key (S/MIME); same connector, different profile.
  • Document the whole chain in Confluence (Level 2): root, issuing CA, SCEP URL, RADIUS and whom to call. It is the runbook that gets opened the day something expires.

Is something missing, or different in your environment? Get in touch and I'll fix it.

Tech Career Lab · newsletter

¿Te ha servido? Cada dos semanas envío una idea práctica para perfiles IT: LinkedIn, proyectos, networking y procesos de selección.Found this useful? Every two weeks I send one practical idea for IT professionals: LinkedIn, projects, networking and hiring processes.

Apúntate y llévate las 33 ideasSign up and get the 33 ideas →