Какую задачу решаем / 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
- Сперва проверить на реальном NTLM-защищённом эндпоинте (например, локальный IIS с Windows Auth), возвращает ли платформенный HTTPСоединение объекта возможность переиспользовать соединение между двумя вызовами, и приходит ли WWW-Authenticate заголовок из 401-ответа доступным для чтения в BSL.
- Если платформа не даёт низкоуровневого контроля над TCP-соединением — зафиксировать как known limitation в README/SECURITY.md.
- Если технически возможно — реализовать Type1/Type2/Type3 сообщения (NTLMSSP), потребуется MD4/DES/HMAC-MD5 — заметно более тяжёлый набор примитивов, чем HMAC-SHA*.
Альтернативы / Alternatives considered
No response
Дополнительно / Additional context
No response
Какую задачу решаем / 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
Альтернативы / Alternatives considered
No response
Дополнительно / Additional context
No response