Error-code database

62 codes, each with meaning → causes → fixes. Use the site search (or press /) to jump straight to a code.

Entra sign-in (AADSTS)

  • AADSTS50011 — Redirect URI mismatch
    The redirect URI in the sign-in request does not match any redirect URI registered on the app — register the exact URI on the app registration.
  • AADSTS50020 — User account from identity provider does not exist in tenant
    The signed-in account does not exist in the tenant the app authenticated against — wrong account type, wrong tenant endpoint, or a guest who was never invited.
  • AADSTS50034 — User account does not exist in the directory
    Entra ID searched the target tenant for the username and found nothing — typo, wrong tenant, deleted user, or a UPN/alias that isn't a sign-in name.
  • AADSTS50053 — Account locked (smart lockout)
    Entra smart lockout temporarily locked the account after repeated bad attempts — often a stale saved credential, or an actual password-spray.
  • AADSTS50055 — Password expired
    The account's password has expired and must be changed before sign-in can complete — watch for hybrid setups where cloud and on-prem expiry disagree.
  • AADSTS50057 — User account is disabled
    The account is disabled in Entra ID — re-enable it in the portal, or in hybrid setups check the on-prem account state and sync.
  • AADSTS50058 — Silent sign-in failed: no signed-in user
    The app attempted silent authentication but Entra ID has no usable signed-in session — the app must fall back to an interactive sign-in.
  • AADSTS50076 — Multi-factor authentication required
    Policy requires MFA for this sign-in and the session hasn't satisfied it — expected interactively, a configuration smell for background clients.
  • AADSTS50079 — User must enrol for multi-factor authentication
    MFA is required but the user has no registered methods — they must complete security-info registration before this sign-in can succeed.
  • AADSTS50105 — User not assigned to the application
    The app requires assignment and the signing-in user isn't assigned — add the user or group under the enterprise application, or disable assignment requirement.
  • AADSTS50126 — Invalid username or password
    Credential validation failed — usually a wrong password; repeated 50126 storms point at a stale saved credential or a password-spray attack.
  • AADSTS50128 — Invalid domain name — no tenant-identifying information
    Entra ID could not determine which tenant to authenticate against — the domain isn't registered in any tenant, or the tenant hint is mistyped.
  • AADSTS50173 — Fresh token needed — grant expired or revoked
    The token or grant the client presented has been invalidated — password change, revoked sessions, or an expired grant. The user must sign in again.
  • AADSTS53003 — Access blocked by Conditional Access policies
    A Conditional Access policy blocked this sign-in — the sign-in log's Conditional Access tab names the policy; fix policy, device or location.
  • AADSTS65001 — No consent for the application
    The user or admin has not consented to the permissions the app requests — grant admin consent or let users consent where policy allows.
  • AADSTS700016 — Application not found in the directory
    No app registration matches the client ID in this tenant — wrong client ID, wrong tenant/authority, or a single-tenant app used cross-tenant.
  • AADSTS7000215 — Invalid client secret provided
    The client secret in the token request is wrong — most often an expired secret, or the secret's ID pasted instead of its value.
  • AADSTS7000218 — Request must contain client_assertion or client_secret
    The token request carried no client credentials — enable 'Allow public client flows' for device-code/ROPC clients, or send the secret/assertion.
  • AADSTS70008 — Refresh token expired due to inactivity
    The refresh token sat unused past its inactivity window and is dead — the client must run an interactive sign-in to get a fresh grant.
  • AADSTS90002 — Tenant not found
    The tenant identifier in the request does not resolve to any Entra tenant — check the tenant ID/domain in the authority URL for typos or staleness.

Intune SCEP & certificates

  • 0x800705B4 — Timeout talking to the SCEP endpoint
    The SCEP request timed out before the server answered. Usually a slow or overloaded NDES server, or middleboxes delaying the request.
  • 0x80072EE7 — SCEP server name could not be resolved
    DNS lookup for the SCEP URL failed on the device. Common when an internal-only NDES hostname is put in a profile assigned to internet-based devices.
  • 0x80072EFD — Cannot connect to the SCEP server
    DNS resolved but the TCP connection to the SCEP endpoint failed — firewall, closed port, or the service simply is not listening.
  • 0x80072F8F — Security error connecting to the SCEP endpoint
    TLS to the SCEP endpoint failed — untrusted, expired or mismatched server certificate, or the device clock is wrong.
  • 0x80090010 — NTE_PERM: access denied on the key
    Windows CNG returned 'Access denied' while creating or using the private key for the SCEP request — usually key container permissions or a TPM in a bad state.
  • 0x80090011 — NTE_NOT_FOUND: object was not found
    Windows CNG could not find an object it needed during SCEP enrolment — commonly the root CA certificate the profile references, or a key that no longer exists.
  • 0x80090016 — NTE_BAD_KEYSET: keyset does not exist
    The key container the SCEP client expected does not exist or cannot be opened — classic symptom of damaged TPM key storage or deleted machine keys.
  • 0x80090029 — NTE_NOT_SUPPORTED: operation not supported by the provider
    The key storage provider cannot do what the SCEP profile asks — typically a TPM that does not support the requested key size or algorithm.
  • 0x80090030 — NTE_DEVICE_NOT_READY: TPM not ready for use
    The cryptographic device (in practice, the TPM) is not ready, so the SCEP client cannot generate the key. Fix the TPM state, not the profile.
  • 0x82AB0008 — SCEP enrolment request failed at the server
    Logged by ScepInstallCertificateFailure when the device submitted its SCEP request but got no certificate back — the server rejected or mishandled it.
  • 0x87D101F4 — SyncML(500): unexpected condition on the device
    The device's MDM stack returned OMA-DM status 500 — an unexpected internal error while processing the setting. A generic device-side failure.
  • 0x87D1FDE8 — Remediation failed
    Generic Intune error: the device received the profile, tried to apply it, and failed. On SCEP profiles it usually means enrolment failed on-device.
  • Challenge validation failed — SCEP challenge validation failed
    The SCEP service refused the challenge in the device's request, so no certificate was issued. Usually connector, clock or replay problems.
  • Profile not applicable — SCEP profile shows 'Not applicable'
    Intune decided the SCEP profile does not apply to this device — platform, edition, assignment or dependency mismatch, not an enrolment failure.
  • TPM attestation failed — TPM key attestation failed during SCEP enrolment
    The SCEP profile requires a TPM-attested key and the device could not produce a valid attestation — usually TPM capability or EK certificate issues.

NDES & AD CS

  • 0x800706BA — The RPC server is unavailable
    Win32 error 1722 — the DCOM/RPC call to the CA never connected. Service stopped, firewall, DNS, or a CA that no longer exists.
  • 0x80092013 — CRYPT_E_REVOCATION_OFFLINE: revocation server was offline
    Certificate chain validation failed because the CRL (or OCSP) endpoint could not be reached. The certificate may be fine — the revocation infrastructure is not.
  • Challenge password rejected — NDES one-time challenge password rejected
    The SCEP request's challenge password was refused — NDES passwords are single-use, expire after 60 minutes by default, and only a handful are cached at once.
  • Event ID 100 — AD CS Event 100: CA service fails to start (revocation offline)
    AD CS will not start because it cannot verify its own CA certificate chain — almost always an expired parent CRL from an offline root CA.
  • Event ID 13 — CertEnroll Event 13: enrolment failed, RPC server unavailable
    Certificate enrolment failed because the client could not reach the CA over DCOM/RPC — CertSvc stopped, firewall, or missing DCOM permissions.
  • Event ID 29 — CertEnroll Event 29: enrolment failed against all enrolment servers
    The enrolment client failed against every enrolment endpoint for its policy — usually the same RPC/permission problem as Event 13, or dead endpoints.
  • HTTP 401 (mscep_admin) — mscep_admin returns 401 or refuses to show a challenge password
    The NDES admin page will not issue a challenge — the requesting user needs Enroll permission on the configured templates, plus Windows authentication.
  • HTTP 414 / 404.15 — IIS request-length limits break SCEP (414 / 404.15)
    SCEP GET requests carry the whole PKCS message in the query string; default IIS and HTTP.SYS length limits reject them. Raise the limits on every NDES server.
  • HTTP 500 — NDES returns HTTP 500 Internal Server Error
    NDES is running but throwing an internal error — typically broken template registry settings, missing RA certificates, or CA connectivity problems.
  • HTTP 503 — NDES returns HTTP 503 Service Unavailable
    The NDES URL answers 503 — the IIS application pool behind /certsrv/mscep is stopped or crashing, so every SCEP enrolment in the estate fails at once.
  • Policy module rejection — NDES policy module (Intune connector) rejects SCEP requests
    When the Intune Certificate Connector is unhealthy, the NDES policy module rejects every SCEP request even though IIS and the CA are fine.

RADIUS & 802.1X

  • Can't connect to this network — Client rejects the RADIUS server certificate ('Can't connect to this network')
    Windows shows a generic failure because the client refuses the RADIUS server's certificate — root not trusted or server-name validation mismatch.
  • Event ID 13 (NPS) — NPS Event 13: RADIUS message from an invalid RADIUS client IP
    NPS dropped the request because the sender's IP is not registered as a RADIUS client — new switch, changed management IP, or NAT in the path.
  • Event ID 18 (NPS) — NPS Event 18: invalid Message-Authenticator attribute
    The request's Message-Authenticator failed validation — the shared secret differs between the NAS and NPS, so requests are silently discarded.
  • No client certificate found — EAP-TLS: client has no usable certificate
    The Windows supplicant cannot find a certificate satisfying EAP-TLS requirements, so authentication never starts — check EKU, key, store and auth mode.
  • Reason code 16 — NPS 6273 reason 16: credentials mismatch
    Authentication failed: the username didn't map to an account or the password was wrong — with EAP-TLS it often means a certificate identity mapping problem.
  • Reason code 22 — NPS 6273 reason 22: EAP type cannot be processed
    The client offered an EAP method the server could not process — EAP type mismatch between client profile and policy, or a broken server certificate.
  • Reason code 23 — NPS 6273 reason 23: unexpected EAP error
    NPS hit an internal error while running EAP — often server certificate problems or a TLS handshake that died mid-flight rather than a clean policy rejection.
  • Reason code 262 — NPS 6273 reason 262: message signature not verified
    The RADIUS message failed integrity verification — in practice, the shared secret configured on the NAS does not match the one configured in NPS.
  • Reason code 265 — NPS 6273 reason 265: certificate chain issued by an untrusted authority
    NPS does not trust the CA that issued the client's certificate — the issuing chain is missing from the NPS server's certificate stores.
  • Reason code 269 — NPS 6273 reason 269: client and server possess no common algorithm
    The TLS handshake inside EAP failed because client and server share no TLS version/cipher suite — typical after protocol hardening on either side.
  • Reason code 48 — NPS 6273 reason 48: no matching network policy
    The request passed connection request policy but matched no network policy's conditions — group membership, NAS port type or day/time conditions didn't line up.
  • Reason code 49 — NPS 6273 reason 49: no matching connection request policy
    The request failed at the first gate: no connection request policy matched, so NPS never evaluated network policies at all.
  • Reason code 65 — NPS 6273 reason 65: network access permission denied on the account
    The AD account's dial-in Network Access Permission is set to deny, so NPS refused the connection regardless of policy — set it to allow or policy-controlled.
  • Reason code 66 — NPS 6273 reason 66: authentication method not enabled on the matched policy
    A network policy matched, but the client used an authentication method that policy does not allow — align the EAP method list with the client profile.
  • Reason code 8 — NPS 6273 reason 8: the specified user account does not exist
    NPS rejected the request because the account name in the request does not resolve to any account — usually a username format, realm or wrong-domain problem.
  • Revocation check failure — EAP-TLS fails because certificate revocation cannot be checked
    NPS or the client could not retrieve revocation data for the peer certificate, so authentication fails with nothing revoked — a CRL reachability issue.
An unhandled error has occurred. Reload 🗙