Skip to content

[Feature]: Add NTLM Authentication #18

Description

@LunatikDG

Какую задачу решаем / Problem to solve

NTLM — challenge-response протокол в 3 сообщения (Negotiate → Challenge → Authenticate) поверх одного и того же TCP/HTTP-соединения: клиент шлёт запрос без авторизации, сервер отвечает 401 с WWW-Authenticate: NTLM , клиент должен отправить повторный запрос с Authorize: NTLM по тому же соединению. Это плохо стыкуется с тем, как обычно работает ОбъектHTTPЗапрос/HTTPСоединение в 1С — нужно явно проверить, поддерживает ли платформенный HTTP-клиент keep-alive/connection reuse, доступный из BSL, иначе NTLM просто не сможет отработать (сервер не свяжет challenge и response между независимыми TCP-соединениями).

Предложение / Proposed solution

  1. Сперва проверить на реальном NTLM-защищённом эндпоинте (например, локальный IIS с Windows Auth), возвращает ли платформенный HTTPСоединение объекта возможность переиспользовать соединение между двумя вызовами, и приходит ли WWW-Authenticate заголовок из 401-ответа доступным для чтения в BSL.
  2. Если платформа не даёт низкоуровневого контроля над TCP-соединением — зафиксировать как known limitation в README/SECURITY.md.
  3. Если технически возможно — реализовать Type1/Type2/Type3 сообщения (NTLMSSP), потребуется MD4/DES/HMAC-MD5 — заметно более тяжёлый набор примитивов, чем HMAC-SHA*.

Альтернативы / Alternatives considered

No response

Дополнительно / Additional context

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions