Что означает код HRESULT 0x803D001D (WS_E_SERVER_REQUIRES_DIGEST_AUTH)?

 
Предыдущий Следующий
WS_E_SERVER_REQUIRES_BASIC_AUTH WS_E_SERVER_REQUIRES_NTLM_AUTH

WS_E_SERVER_REQUIRES_DIGEST_AUTH

Что означает WS_E_SERVER_REQUIRES_DIGEST_AUTH

WS_E_SERVER_REQUIRES_DIGEST_AUTH означает, что удалённый HTTP-сервер отклонил текущий способ аутентификации и требует схему Digest.

Что проверить

  • Сохраните заголовок WWW-Authenticate именно из ответа проблемного сервера: важны realm, nonce, algorithm и qop.
  • Убедитесь, что challenge пришёл от конечного узла, а не от промежуточного proxy; для proxy используется другой механизм аутентификации.
  • Настройте credentials в Windows Web Services API для Digest вместо самостоятельной сборки Authorization.
  • Если первый запрос проходит, а повторный нет, проверьте обновление nonce и обработку stale challenge.

Неверный пароль, устаревший nonce и неподдерживаемый вариант Digest приводят к похожему внешнему результату, поэтому одного HTTP 401 недостаточно. Для сравнения полезно выполнить тот же запрос с тем же URI и учётной записью через клиент, который заведомо умеет Digest, не меняя серверную конфигурацию.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.