Share via


estructura KERB_RETRIEVE_TKT_REQUEST (ntsecapi.h)

La estructura KERB_RETRIEVE_TKT_REQUEST contiene información utilizada para recuperar un vale.

Lo usa LsaCallAuthenticationPackage. El vale kerberos se define en Internet RFC 4120. Para obtener más información, vea http://www.ietf.org.

Sintaxis

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;

Miembros

MessageType

KERB_PROTOCOL_MESSAGE_TYPE valor que indica el tipo de solicitud que se está realizando. Este miembro debe establecerse en KerbRetrieveEncodedTicketMessage.

LogonId

Estructura LUID que contiene el identificador de sesión de inicio de sesión . Esto puede ser cero para la sesión de inicio de sesión del usuario actual. Si no es cero, el autor de la llamada debe tener establecido el privilegio SeTcbPrivilege. Si se produce un error, el paquete de autenticación Kerberos establece el parámetro ProtocolStatus de LsaCallAuthenticationPackage en STATUS_ACCESS_DENIED.

TargetName

UNICODE_STRING que contiene el nombre del servicio de destino.

TicketFlags

Contiene marcas que especifican usos para el vale recuperado. Si TicketFlags se establece en cero y si hay un vale coincidente encontrado en la memoria caché, ese vale se devolverá, independientemente de sus valores de marca. Si no hay ninguna coincidencia en la memoria caché, se solicitará un nuevo vale con los valores de marca predeterminados.

Si este miembro no está establecido en cero, el vale devuelto no se almacenará en caché.

CacheOptions

Indica las opciones para buscar en la memoria caché. Establezca este miembro en cero para indicar que se debe buscar la memoria caché y, si no se encuentra ningún vale, se debe solicitar un nuevo vale.

Si este miembro no está establecido en cero, el vale devuelto no se almacenará en caché.

CacheOptions puede contener los valores siguientes.

Valor Significado
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Solicite siempre un nuevo vale; no busque en la memoria caché.

Si se obtiene un vale, el paquete de autenticación Kerberos devuelve STATUS_SUCCESS en el parámetro ProtocolStatus de la función LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Use el miembro CredentialsHandle en lugar de LogonId para identificar la sesión de inicio de sesión. El identificador de credenciales se usa como la credencial de cliente para la que se recupera el vale.

Nota Esta opción no está disponible para aplicaciones basadas en Windows de 32 bits que se ejecutan en Windows de 64 bits.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Devuelve solo un vale almacenado en caché previamente.

Si no se encuentra este vale, el paquete de autenticación Kerberos devuelve STATUS_OBJECT_NAME_NOT_FOUND en el parámetro ProtocolStatus de la función LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Devuelve el vale como una credencial kerberos. El vale kerberos se define en Internet RFC 4120 como KRB_CRED. Para obtener más información, vea http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Sin implementar.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Devuelve el vale que se encuentra actualmente en la memoria caché. Si el vale no está en la memoria caché, se solicita y, a continuación, se almacena en caché. Esta marca no se debe usar con la marca KERB_RETRIEVE_TICKET_DONT_USE_CACHE.

Windows XP con SP1 y versiones anteriores y Windows Server 2003: Esta opción no está disponible.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Devuelve un vale nuevo con el tiempo máximo permitido por la directiva. El ticker se almacena en caché después. El uso de esta marca implica que no se ha establecido KERB_RETRIEVE_TICKET_USE_CACHE_ONLY y KERB_RETRIEVE_TICKET_CACHE_TICKET está establecido.

Windows Vista, Windows Server 2008, Windows XP con SP1 y versiones anteriores y Windows Server 2003: Esta opción no está disponible.

EncryptionType

Especifica el tipo de cifrado que se va a usar para el vale solicitado. Si este miembro no está establecido en cero, el vale devuelto no se almacenará en caché.

Este miembro puede tener uno de los valores siguientes.

Valor Significado
KERB_ETYPE_DES_CBC_CRC
Use el cifrado DES en modo de encadenamiento de bloques de cifrado con una suma de comprobación CRC-32.
KERB_ETYPE_DES_CBC_MD4
Usa el cifrado DES en modo de encadenamiento de bloques cifrado con una suma de comprobación MD4.
KERB_ETYPE_DES_CBC_MD5
Use el cifrado DES en modo de encadenamiento de bloques de cifrado con una suma de comprobación MD5.
KERB_ETYPE_NULL
No use ningún cifrado.
KERB_ETYPE_RC4_HMAC_NT
Use el cifrado de flujo RC4 con un código de autenticación de mensajes (MAC) basado en hash, tal como lo usa Windows.
KERB_ETYPE_RC4_MD4
Use el cifrado de flujo RC4 con la función hash MD4.
>127
Los valores mayores que 127 están reservados para los valores locales y pueden cambiar sin previo aviso.

CredentialsHandle

Identificador de credenciales de SSPI usado en lugar de un identificador de sesión de inicio de sesión.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado ntsecapi.h