Compartilhar via


estrutura KERB_EXTERNAL_TICKET (ntsecapi.h)

A estrutura KERB_EXTERNAL_TICKET contém informações sobre um tíquete externo.

Um tíquete externo é um tíquete Kerberos exportado para usuários externos. O tíquete Kerberos é definido na Internet RFC 4120. Para obter mais informações, consulte http://www.ietf.org. Essa estrutura é usada pela estrutura KERB_RETRIEVE_TKT_RESPONSE .

Sintaxe

typedef struct _KERB_EXTERNAL_TICKET {
  PKERB_EXTERNAL_NAME ServiceName;
  PKERB_EXTERNAL_NAME TargetName;
  PKERB_EXTERNAL_NAME ClientName;
  UNICODE_STRING      DomainName;
  UNICODE_STRING      TargetDomainName;
  UNICODE_STRING      AltTargetDomainName;
  KERB_CRYPTO_KEY     SessionKey;
  ULONG               TicketFlags;
  ULONG               Flags;
  LARGE_INTEGER       KeyExpirationTime;
  LARGE_INTEGER       StartTime;
  LARGE_INTEGER       EndTime;
  LARGE_INTEGER       RenewUntil;
  LARGE_INTEGER       TimeSkew;
  ULONG               EncodedTicketSize;
  PUCHAR              EncodedTicket;
} KERB_EXTERNAL_TICKET, *PKERB_EXTERNAL_TICKET;

Membros

ServiceName

Uma estrutura KERB_EXTERNAL_NAME que contém uma parte múltipla, canônica, nome de serviço retornado.

TargetName

Uma estrutura KERB_EXTERNAL_NAME que contém o SPN ( nome da entidade de serviço ) de várias partes.

ClientName

Uma estrutura KERB_EXTERNAL_NAME que contém o nome do cliente no tíquete. Esse nome é relativo ao domínio atual.

DomainName

Um UNICODE_STRING que contém o nome do domínio que corresponde ao membro ServiceName . Esse é o domínio que emitiu o tíquete.

TargetDomainName

Um UNICODE_STRING que contém o nome do domínio no qual o tíquete é válido. Para um tíquete de interdomínio, esse é o domínio de destino.

AltTargetDomainName

Um UNICODE_STRING que contém um sinônimo para o domínio de destino. Cada domínio tem dois nomes: um nome DNS e um nome NetBIOS. Se o nome retornado no tíquete for diferente do nome usado para solicitar o tíquete (o KDC ( Centro de Distribuição de Chaves Kerberos) poderá fazer o mapeamento de nomes), essa cadeia de caracteres conterá o nome original.

SessionKey

Uma estrutura KERB_CRYPTO_KEY que contém a chave de sessão do tíquete.

TicketFlags

Sinalizadores de tíquete, conforme definido na Internet RFC 4120. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
KERB_TICKET_FLAGS_forwardable (0x40000000)
O servidor de concessão de tíquete pode emitir um novo tíquete de concessão de tíquete com um endereço de rede diferente, com base no tíquete apresentado.
KERB_TICKET_FLAGS_forwarded (0x20000000)
O tíquete foi encaminhado ou foi emitido com base na autenticação que envolveu um tíquete de concessão de tíquete encaminhado.
KERB_TICKET_FLAGS_hw_authent (0x00100000)
O protocolo empregado para autenticação inicial exigia que o uso de hardware esperado fosse possuído exclusivamente pelo cliente nomeado. O método de autenticação de hardware é selecionado pelo KDC e a força do método não é indicada.
KERB_TICKET_FLAGS_initial (0x00400000)
O tíquete foi emitido usando o protocolo do Serviço de Autenticação em vez de ser baseado em um tíquete de concessão de tíquete.
KERB_TICKET_FLAGS_invalid (0x01000000)
O tíquete não é válido.
KERB_TICKET_FLAGS_may_postdate (0x04000000)
Indica ao servidor de concessão de tíquete que um tíquete postdado pode ser emitido com base nesse tíquete de concessão de tíquete.
KERB_TICKET_FLAGS_ok_as_delegate (0x00040000)
O destino do tíquete é confiável pelo serviço de diretório para delegação. Assim, os clientes podem delegar suas credenciais para o servidor, o que permite que o servidor atue como o cliente ao falar com outros serviços.
KERB_TICKET_FLAGS_postdated (0x02000000)
O tíquete foi postado. O serviço final pode marcar o membro authtime do tíquete para determinar quando a autenticação original ocorreu.
KERB_TICKET_FLAGS_pre_authent (0x00200000)
Durante a autenticação inicial, o cliente foi autenticado pelo KDC antes de um tíquete ser emitido. A força do método de pré-autenticação não é indicada, mas é aceitável para o KDC.
KERB_TICKET_FLAGS_proxiable (0x10000000)
Indica ao servidor de concessão de tíquetes que somente tíquetes de concessão de tíquetes não autorizados podem ser emitidos com endereços de rede diferentes.
KERB_TICKET_FLAGS_proxy (0x08000000)
O tíquete é um proxy.
KERB_TICKET_FLAGS_renewable (0x00800000)
O tíquete é renovável. Se esse sinalizador estiver definido, o limite de tempo para renovar o tíquete será definido no membro RenewTime de uma estrutura KERB_TICKET_CACHE_INFO . Um tíquete renovável pode ser usado para obter um tíquete de substituição que expira em uma data posterior.
KERB_TICKET_FLAGS_reserved (0x80000000)
Reservado para uso futuro. Não defina esse sinalizador.
KERB_TICKET_FLAGS_reserved1 (0x00000001)
Reservado.

Flags

Reservado para uso futuro. Defina esse membro como zero.

KeyExpirationTime

Uma estrutura FILETIME que contém a hora em que a chave expira.

StartTime

Uma estrutura FILETIME que contém a hora em que o tíquete se torna válido.

EndTime

Uma estrutura FILETIME que contém a hora em que o tíquete expira.

RenewUntil

Uma estrutura FILETIME que contém a hora mais recente em que um tíquete pode ser renovado. As solicitações de renovação enviadas após esse período serão rejeitadas.

TimeSkew

Uma estrutura FILETIME que contém a diferença de tempo medida entre a hora atual no computador que emite o tíquete e o computador em que o tíquete será usado.

EncodedTicketSize

O tamanho, em bytes, do tíquete codificado.

EncodedTicket

Um buffer que contém o tíquete codificado em Notação de Sintaxe Abstrata Um (ASN.1).

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