Challenge password rejected

NDES one-time challenge password rejected

Last reviewed 2026-07-18 by the Just Software engineering team · also seen as scep password invalid, ndes otp expired, mscep challenge password

What it means

In standalone NDES (without the Intune policy module), an admin fetches a one-time challenge password from /certsrv/mscep_admin and puts it in the device's SCEP request. NDES rejects the request when that password is wrong, already used, expired, or has been pushed out of the small in-memory cache. Nothing is wrong with the device's cryptography — the proof-of-authorisation failed.

Common causes

  1. The password expired: NDES challenge passwords are valid for 60 minutes by default.

  2. The password was already consumed — they are single-use, so a retry with the same password fails.

  3. The password cache overflowed: NDES caches only 5 outstanding passwords by default (PasswordMax), so generating a sixth silently invalidates the oldest.

  4. Copy/paste errors — trailing whitespace from the mscep_admin page is a classic.

How to fix it

  1. Generate a fresh password from /certsrv/mscep_admin immediately before enrolling, and use it once.

  2. Adjust defaults if your workflow needs it: PasswordValidity (minutes) and PasswordMax values under HKLM\SOFTWARE\Microsoft\Cryptography\MSCEP — restart IIS after changing them.

  3. For anything beyond occasional manual enrolments, move to a policy-module flow (Intune + Certificate Connector) or a cloud SCEP service so challenges are issued and validated automatically per-device.

An unhandled error has occurred. Reload 🗙