Partager via


KERB_RETRIEVE_TKT_REQUEST structure (ntsecapi.h)

La structure KERB_RETRIEVE_TKT_REQUEST contient les informations utilisées pour récupérer un ticket.

Il est utilisé par LsaCallAuthenticationPackage. Le ticket Kerberos est défini dans Internet RFC 4120. Pour plus d’informations, consultez http://www.ietf.org.

Syntaxe

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;

Membres

MessageType

KERB_PROTOCOL_MESSAGE_TYPE valeur indiquant le type de demande effectuée. Ce membre doit être défini sur KerbRetrieveEncodedTicketMessage.

LogonId

Structure LUID contenant l’identificateur de session d’ouverture de session . Il peut s’agir de zéro pour la session d’ouverture de session de l’utilisateur actuel. Si ce n’est pas zéro, l’appelant doit avoir le privilège SeTcbPrivilege défini. En cas d’échec, le package d’authentification Kerberos définit le paramètre ProtocolStatus de LsaCallAuthenticationPackage sur STATUS_ACCESS_DENIED.

TargetName

UNICODE_STRING contenant le nom du service cible.

TicketFlags

Contient des indicateurs spécifiant des utilisations pour le ticket récupéré. Si TicketFlags est défini sur zéro et s’il existe un ticket correspondant trouvé dans le cache, ce ticket est retourné, quelles que soient ses valeurs d’indicateur. S’il n’y a aucune correspondance dans le cache, un nouveau ticket avec les valeurs d’indicateur par défaut est demandé.

Si ce membre n’est pas défini sur zéro, le ticket retourné n’est pas mis en cache.

CacheOptions

Indique les options de recherche dans le cache. Définissez ce membre sur zéro pour indiquer que le cache doit faire l’objet d’une recherche et si aucun ticket n’est trouvé, un nouveau ticket doit être demandé.

Si ce membre n’est pas défini sur zéro, le ticket retourné n’est pas mis en cache.

CacheOptions peut contenir les valeurs suivantes.

Valeur Signification
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Demandez toujours un nouveau ticket ; ne recherchez pas dans le cache.

Si un ticket est obtenu, le package d’authentification Kerberos retourne STATUS_SUCCESS dans le paramètre ProtocolStatus de la fonction LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Utilisez le membre CredentialsHandle au lieu de LogonId pour identifier la session d’ouverture de session. Le handle d’informations d’identification est utilisé comme informations d’identification client pour lesquelles le ticket est récupéré

Note Cette option n’est pas disponible pour les applications Windows 32 bits s’exécutant sur Windows 64 bits.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Retourne uniquement un ticket précédemment mis en cache.

Si un tel ticket est introuvable, le package d’authentification Kerberos retourne STATUS_OBJECT_NAME_NOT_FOUND dans le paramètre ProtocolStatus de la fonction LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Retournez le ticket en tant qu’informations d’identification Kerberos. Le ticket Kerberos est défini dans Internet RFC 4120 comme KRB_CRED. Pour plus d’informations, consultez http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Non implémenté.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Retournez le ticket qui se trouve actuellement dans le cache. Si le ticket n’est pas dans le cache, il est demandé, puis mis en cache. Cet indicateur ne doit pas être utilisé avec l’indicateur KERB_RETRIEVE_TICKET_DONT_USE_CACHE.

Windows XP avec SP1 et versions antérieures et Windows Server 2003 : Cette option n’est pas disponible.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Retournez un nouveau ticket avec la durée maximale autorisée par la stratégie. Le ticker est mis en cache par la suite. L’utilisation de cet indicateur implique que KERB_RETRIEVE_TICKET_USE_CACHE_ONLY n’est pas défini et KERB_RETRIEVE_TICKET_CACHE_TICKET est défini.

Windows Vista, Windows Server 2008, Windows XP avec SP1 et versions antérieures et Windows Server 2003 : Cette option n’est pas disponible.

EncryptionType

Spécifie le type de chiffrement à utiliser pour le ticket demandé. Si ce membre n’est pas défini sur zéro, le ticket retourné n’est pas mis en cache.

Ce membre peut avoir l’une des valeurs suivantes.

Valeur Signification
KERB_ETYPE_DES_CBC_CRC
Utilisez le chiffrement DES en mode de chaînage de blocs de chiffrement avec une somme de contrôle CRC-32.
KERB_ETYPE_DES_CBC_MD4
Utilisez le chiffrement DES en mode de chaînage de blocs de chiffrement avec une somme de contrôle MD4.
KERB_ETYPE_DES_CBC_MD5
Utilisez le chiffrement DES en mode de chaînage de blocs de chiffrement avec une somme de contrôle MD5.
KERB_ETYPE_NULL
N’utilisez aucun chiffrement.
KERB_ETYPE_RC4_HMAC_NT
Utilisez le chiffrement de flux RC4 avec un code d’authentification de message (MAC) basé sur le hachage, tel qu’utilisé par Windows.
KERB_ETYPE_RC4_MD4
Utilisez le chiffrement de flux RC4 avec la fonction de hachage MD4.
>127
Les valeurs supérieures à 127 sont réservées aux valeurs locales et peuvent changer sans préavis.

CredentialsHandle

Un handle d’informations d’identification SSPI utilisé à la place d’un identificateur de session d’ouverture de session.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête ntsecapi.h