Compartilhar via


estrutura KERB_RETRIEVE_TKT_REQUEST (ntsecapi.h)

A estrutura KERB_RETRIEVE_TKT_REQUEST contém informações usadas para recuperar um tíquete.

Ele é usado por LsaCallAuthenticationPackage. O tíquete Kerberos é definido na Internet RFC 4120. Para obter mais informações, consulte http://www.ietf.org.

Sintaxe

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;

Membros

MessageType

KERB_PROTOCOL_MESSAGE_TYPE valor que indica o tipo de solicitação que está sendo feita. Esse membro deve ser definido como KerbRetrieveEncodedTicketMessage.

LogonId

Estrutura LUID que contém o identificador de sessão de logon . Isso pode ser zero para a sessão de logon do usuário atual. Se não for zero, o chamador deverá ter o privilégio SeTcbPrivilege definido. Se isso falhar, o pacote de autenticação Kerberos definirá o parâmetro ProtocolStatus de LsaCallAuthenticationPackage como STATUS_ACCESS_DENIED.

TargetName

UNICODE_STRING que contém o nome do serviço de destino.

TicketFlags

Contém sinalizadores que especificam usos para o tíquete recuperado. Se TicketFlags estiver definido como zero e se houver um tíquete correspondente encontrado no cache, esse tíquete será retornado, independentemente de seus valores de sinalizador. Se não houver correspondência no cache, um novo tíquete com os valores de sinalizador padrão será solicitado.

Se esse membro não estiver definido como zero, o tíquete retornado não será armazenado em cache.

CacheOptions

Indica opções para pesquisar o cache. Defina esse membro como zero para indicar que o cache deve ser pesquisado e, se nenhum tíquete for encontrado, um novo tíquete deverá ser solicitado.

Se esse membro não estiver definido como zero, o tíquete retornado não será armazenado em cache.

CacheOptions pode conter os valores a seguir.

Valor Significado
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Sempre solicite um novo tíquete; não pesquise o cache.

Se um tíquete for obtido, o pacote de autenticação Kerberos retornará STATUS_SUCCESS no parâmetro ProtocolStatus da função LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Use o membro CredentialsHandle em vez de LogonId para identificar a sessão de logon. O identificador de credencial é usado como a credencial do cliente para a qual o tíquete é recuperado

Nota Essa opção não está disponível para aplicativos baseados no Windows de 32 bits em execução no Windows de 64 bits.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Retornar apenas um tíquete armazenado em cache anteriormente.

Se esse tíquete não for encontrado, o pacote de autenticação Kerberos retornará STATUS_OBJECT_NAME_NOT_FOUND no parâmetro ProtocolStatus da função LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Retorne o tíquete como uma credencial Kerberos. O tíquete Kerberos é definido na Internet RFC 4120 como KRB_CRED. Para obter mais informações, consulte http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Não implementado.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Retorne o tíquete que está atualmente no cache. Se o tíquete não estiver no cache, ele será solicitado e, em seguida, armazenado em cache. Esse sinalizador não deve ser usado com o sinalizador KERB_RETRIEVE_TICKET_DONT_USE_CACHE.

Windows XP com SP1 e versões anteriores e Windows Server 2003: Essa opção não está disponível.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Retornar um novo tíquete com tempo máximo permitido pela política. O ticker é armazenado em cache posteriormente. O uso desse sinalizador implica que KERB_RETRIEVE_TICKET_USE_CACHE_ONLY não está definido e KERB_RETRIEVE_TICKET_CACHE_TICKET está definido.

Windows Vista, Windows Server 2008, Windows XP com SP1 e versões anteriores e Windows Server 2003: Essa opção não está disponível.

EncryptionType

Especifica o tipo de criptografia a ser usado para o tíquete solicitado. Se esse membro não estiver definido como zero, o tíquete retornado não será armazenado em cache.

Esse membro pode ter um dos valores a seguir.

Valor Significado
KERB_ETYPE_DES_CBC_CRC
Use a criptografia DES no modo de encadeamento de blocos de codificação com uma soma de verificação CRC-32.
KERB_ETYPE_DES_CBC_MD4
Use a criptografia DES no modo de encadeamento de blocos de codificação com uma soma de verificação MD4.
KERB_ETYPE_DES_CBC_MD5
Use a criptografia DES no modo de encadeamento de blocos de criptografia com uma soma de verificação MD5.
KERB_ETYPE_NULL
Não use criptografia.
KERB_ETYPE_RC4_HMAC_NT
Use a codificação de fluxo RC4 com um MAC (Código de Autenticação de Mensagem) baseado em hash, conforme usado pelo Windows.
KERB_ETYPE_RC4_MD4
Use a codificação de fluxo RC4 com a função de hash MD4.
>127
Valores maiores que 127 são reservados para valores locais e podem ser alterados sem aviso prévio.

CredentialsHandle

Um identificador de credenciais SSPI usado no lugar de um identificador de sessão de logon.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho ntsecapi.h