Вызов AcquireCredentialsHandle после ImpersonateSecurityContext не возвращает учетные данные

Я пишу сервер, поддерживающий Kerberos, который должен принимать делегированные учетные данные от клиента, выдавать себя за этого клиента и выполнять другой диалог Kerberos с удаленным сервером, действующим в качестве клиента.

В настоящее время сервер завершает согласование с клиентом, используя AcceptSecurityContext. После вызова QuerySecurityContext для флагов они указывают как ASC_RET_DELEGATE, так и ASC_RET_MUTUAL_AUTH. Затем я вызываю ImpersonateSecurityContext, который успешно выполняется (SEC_E_OK).

На данный момент мне немного непонятно, что делать. Чтобы действовать как клиент, я бы предположил, что мне следует вызвать AcquireCredentialsHandle без структуры SEC_WINNT_AUTH_IDENTITY, чтобы получить учетные данные по умолчанию для текущего "потока", которые должны быть теми, которые я только что выдал. Однако этот вызов всегда возвращает SEC_E_NO_CREDENTIALS.

Кажется, я не могу найти какие-либо примеры кода, делающие это и выполняющие контрольные списки делегирования / олицетворения, и все они показывают, что "ящики" проверены в Active Directory правильно.

Что я должен делать вместо этого или что я делаю неправильно? Я могу предоставить больше информации по запросу, просто не зная, что это будет.

0 ответов

Другие вопросы по тегам