Может кто-нибудь помочь мне с простым примером о том, как пройти проверку подлинности на сервере Java Java SASL Windows C ++ клиент с Windows API: я имею в виду использование AcquireCredentialsHandle, InitializeSecurityContext …
Наилучший результат, который я получил на данный момент, заключается в такой конфигурации:
set(&credentials, "username", "password", "domain");
ss= AcquireCredentialsHandle(NULL, "WDigest", SECPKG_CRED_OUTBOUND, NULL
, &credentials, NULL, NULL, &hCred, &tsExpiry);
OutBuffers[0].pvBuffer = NULL;
OutBuffers[0].BufferType = SECBUFFER_TOKEN;
OutBuffers[0].cbBuffer = 0;
OutBuffer.cBuffers = 1;
OutBuffer.pBuffers = OutBuffers;
OutBuffer.ulVersion = SECBUFFER_VERSION;
scRet = InitializeSecurityContext(&hCred, NULL, "server", ISC_REQ_ALLOCATE_MEMORY
, 0, SECURITY_NATIVE_DREP, NULL, 0, hContext
, &OutBuffer, &dwSSPIOutFlags, &tsExpiry);
ss результат в порядке, а scRet — SEC_I_CONTINUE_NEEDED, но outBuffers [0] пуст, поэтому мне нечего отправить на сервер, чтобы продолжить процедуру аутентификации.
Задача ещё не решена.
Других решений пока нет …