Как пройти аутентификацию с NTLM с параметрами (через HTTP)?

я использую InitializeSecurityContext функция для создания сообщений типа 1 и 3 для аутентификации NTLM в HTTP. Все работает нормально, когда я получаю заголовок по умолчанию:

WWW-Authenticate: NTLM

Но, когда я получаю заголовок, как:

WWW-Authenticate: NTLM realm="SIP Communications Service", targetname="server.domain.com", version=4

Он не будет принимать сообщение типа 1, и я снова получаю все заголовки WWW-Authenticate.
Это функция, которую я использую для получения первого ответа:

result = SSPI()->InitializeSecurityContextW(
credHandle, // phCredential
0, // phContext
0, // *pszTargetName
ISC_REQ_USE_DCE_STYLE | ISC_REQ_DELEGATE | ISC_REQ_MUTUAL_AUTH
| ISC_REQ_REPLAY_DETECT | ISC_REQ_SEQUENCE_DETECT
| ISC_REQ_CONFIDENTIALITY | ISC_REQ_CONNECTION, // fContextReq
0, // Reserved1
0, // TargetDataRep
0, // pInput
0, // Reserved2
context, // phNewContext
bufferDesc, // pOutput
&outFlags, // pfContextAttr
&timestamp // ptsExpiry
);

Я уже пытался установить pszTargetName как L «server.domain.com», но он тоже не работает.

Любые идеи, как я мог бы передать области, имя цели и параметры версии (при необходимости)?
Я общаюсь с сервером Lync 2013.

0

Решение

Я смог подтвердить подлинность с помощью МС-SIPAE документация и пример аутентификации NTLM. Весь процесс хорошо описан в приведенной выше ссылке.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]