Поделиться через


структура KERB_RETRIEVE_TKT_REQUEST (ntsecapi.h)

Структура KERB_RETRIEVE_TKT_REQUEST содержит сведения, используемые для получения билета.

Он используется LsaCallAuthenticationPackage. Билет Kerberos определен в internet RFC 4120. Для получения дополнительной информации см. http://www.ietf.org.

Синтаксис

typedef struct _KERB_RETRIEVE_TKT_REQUEST {
  KERB_PROTOCOL_MESSAGE_TYPE MessageType;
  LUID                       LogonId;
  UNICODE_STRING             TargetName;
  ULONG                      TicketFlags;
  ULONG                      CacheOptions;
  LONG                       EncryptionType;
  SecHandle                  CredentialsHandle;
} KERB_RETRIEVE_TKT_REQUEST, *PKERB_RETRIEVE_TKT_REQUEST;

Члены

MessageType

KERB_PROTOCOL_MESSAGE_TYPE значение, указывающее тип выполняемого запроса. Для этого элемента необходимо задать значение KerbRetrieveEncodedTicketMessage.

LogonId

Структура LUID, содержащая идентификатор сеанса входа. Этот параметр может быть равен нулю для сеанса входа текущего пользователя. Если значение не равно нулю, у вызывающего объекта должны быть заданы привилегии SeTcbPrivilege. В случае сбоя пакет проверки подлинности Kerberos задает для параметра ProtocolStatusLsaCallAuthenticationPackage значение STATUS_ACCESS_DENIED.

TargetName

UNICODE_STRING , содержащее имя целевой службы.

TicketFlags

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

Если для этого элемента не задано значение 0, возвращенный билет не будет кэширован.

CacheOptions

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

Если для этого элемента не задано значение 0, возвращенный билет не будет кэширован.

CacheOptions может содержать следующие значения.

Значение Значение
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Всегда запрашивать новый билет; не выполнять поиск в кэше.

Если запрос получен, пакет проверки подлинности Kerberos возвращает STATUS_SUCCESS в параметре ProtocolStatus функции LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Используйте элемент CredentialsHandle вместо LogonId для идентификации сеанса входа. Дескриптор учетных данных используется в качестве учетных данных клиента, для которых извлекается билет.

Примечание Этот параметр недоступен для 32-разрядных приложений Windows, работающих в 64-разрядной версии Windows.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Возвращает только ранее кэшированный билет.

Если такой запрос не найден, пакет проверки подлинности Kerberos возвращает STATUS_OBJECT_NAME_NOT_FOUND в параметре ProtocolStatus функции LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Верните билет в виде учетных данных Kerberos. Билет Kerberos определен в internet RFC 4120 как KRB_CRED. Для получения дополнительной информации см. http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Не реализован.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Верните билет, который сейчас находится в кэше. Если билет отсутствует в кэше, он запрашивается и затем кэшируется. Этот флаг не следует использовать с флагом KERB_RETRIEVE_TICKET_DONT_USE_CACHE.

Windows XP с пакетом обновления 1 (SP1) и более ранних версий и Windows Server 2003: Этот параметр недоступен.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Возвращает новый билет с максимальным временем, разрешенным политикой. После этого тикер кэшируется. Использование этого флага означает, что KERB_RETRIEVE_TICKET_USE_CACHE_ONLY не задан и KERB_RETRIEVE_TICKET_CACHE_TICKET задано.

Windows Vista, Windows Server 2008, Windows XP с пакетом обновления 1 (SP1) и более ранних версий и Windows Server 2003: Этот параметр недоступен.

EncryptionType

Указывает тип шифрования, используемый для запрошенного билета. Если для этого элемента не задано значение 0, возвращенный билет не будет кэширован.

Этот элемент может иметь одно из следующих значений.

Значение Значение
KERB_ETYPE_DES_CBC_CRC
Используйте шифрование DES в режиме цепочки шифров и блоков с контрольной суммой CRC-32.
KERB_ETYPE_DES_CBC_MD4
Используйте шифрование DES в режиме цепочки блоков шифра с контрольной суммой MD4.
KERB_ETYPE_DES_CBC_MD5
Используйте шифрование DES в режиме цепочки блоков шифра с контрольной суммой MD5.
KERB_ETYPE_NULL
Не используйте шифрование.
KERB_ETYPE_RC4_HMAC_NT
Используйте потоковый шифр RC4 с хэш-кодом проверки подлинности сообщений (MAC), используемым в Windows.
KERB_ETYPE_RC4_MD4
Используйте потоковый шифр RC4 с хэш-функцией MD4.
>127
Значения больше 127 зарезервированы для локальных значений и могут изменяться без уведомления.

CredentialsHandle

Дескриптор учетных данных SSPI, используемый вместо идентификатора сеанса входа.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть ntsecapi.h