struttura KERB_RETRIEVE_TKT_REQUEST (ntsecapi.h)

La struttura KERB_RETRIEVE_TKT_REQUEST contiene informazioni utilizzate per recuperare un ticket.

Viene usato da LsaCallAuthenticationPackage. Il ticket Kerberos è definito in Internet RFC 4120. Per altre informazioni, vedere http://www.ietf.org.

Sintassi

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;

Members

MessageType

KERB_PROTOCOL_MESSAGE_TYPE valore che indica il tipo di richiesta da effettuare. Questo membro deve essere impostato su KerbRetrieveEncodedTicketMessage.

LogonId

Struttura LUID contenente l'identificatore di sessione di accesso. Può essere zero per la sessione di accesso dell'utente corrente. Se non è zero, il chiamante deve avere il privilegio SeTcbPrivilege impostato. In caso contrario, il pacchetto di autenticazione Kerberos imposta il parametro ProtocolStatus di LsaCallAuthenticationPackage su STATUS_ACCESS_DENIED.

TargetName

UNICODE_STRING contenente il nome del servizio di destinazione.

TicketFlags

Contiene flag che specificano usi per il ticket recuperato. Se TicketFlags è impostato su zero e se nella cache è presente un ticket corrispondente, tale ticket verrà restituito, indipendentemente dai valori del flag. Se non è presente alcuna corrispondenza nella cache, verrà richiesto un nuovo ticket con i valori di flag predefiniti.

Se questo membro non è impostato su zero, il ticket restituito non verrà memorizzato nella cache.

CacheOptions

Indica le opzioni per la ricerca nella cache. Impostare questo membro su zero per indicare che la cache deve essere cercata e se non viene trovato alcun ticket, deve essere richiesto un nuovo ticket.

Se questo membro non è impostato su zero, il ticket restituito non verrà memorizzato nella cache.

CacheOptions può contenere i valori seguenti.

Valore Significato
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Richiedi sempre un nuovo ticket; non eseguire ricerche nella cache.

Se viene ottenuto un ticket, il pacchetto di autenticazione Kerberos restituisce STATUS_SUCCESS nel parametro ProtocolStatus della funzione LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Usare il membro CredentialsHandle anziché LogonId per identificare la sessione di accesso. L'handle delle credenziali viene usato come credenziale client per cui viene recuperato il ticket

Nota Questa opzione non è disponibile per le applicazioni basate su Windows a 32 bit in esecuzione in Windows a 64 bit.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Restituisce solo un ticket memorizzato nella cache in precedenza.

Se tale ticket non viene trovato, il pacchetto di autenticazione Kerberos restituisce STATUS_OBJECT_NAME_NOT_FOUND nel parametro ProtocolStatus della funzione LsaCallAuthenticationPackage .

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Restituire il ticket come credenziale Kerberos. Il ticket Kerberos è definito in Internet RFC 4120 come KRB_CRED. Per altre informazioni, vedere http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Non implementato.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Restituisce il ticket attualmente presente nella cache. Se il ticket non si trova nella cache, viene richiesto e quindi memorizzato nella cache. Questo flag non deve essere usato con il flag KERB_RETRIEVE_TICKET_DONT_USE_CACHE.

Windows XP con SP1 e versioni precedenti e Windows Server 2003: Questa opzione non è disponibile.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Restituisce un nuovo ticket con il tempo massimo consentito dai criteri. Il ticker viene memorizzato nella cache in seguito. L'uso di questo flag implica che KERB_RETRIEVE_TICKET_USE_CACHE_ONLY non è impostato e KERB_RETRIEVE_TICKET_CACHE_TICKET è impostato.

Windows Vista, Windows Server 2008, Windows XP con SP1 e versioni precedenti e Windows Server 2003: Questa opzione non è disponibile.

EncryptionType

Specifica il tipo di crittografia da usare per il ticket richiesto. Se questo membro non è impostato su zero, il ticket restituito non verrà memorizzato nella cache.

Questo membro può avere uno dei valori seguenti.

Valore Significato
KERB_ETYPE_DES_CBC_CRC
Usare la crittografia DES in modalità di concatenamento a blocchi crittografati con un checksum CRC-32.
KERB_ETYPE_DES_CBC_MD4
Usare la crittografia DES in modalità concatenamento a blocchi crittografati con un checksum MD4.
KERB_ETYPE_DES_CBC_MD5
Usare la crittografia DES in modalità concatenamento a blocchi crittografati con un checksum MD5.
KERB_ETYPE_NULL
Non usare alcuna crittografia.
KERB_ETYPE_RC4_HMAC_NT
Usare la crittografia del flusso RC4 con un codice MAC (Message Authentication Code) basato su hash, come usato da Windows.
KERB_ETYPE_RC4_MD4
Usare la crittografia del flusso RC4 con la funzione hash MD4.
>127
I valori maggiori di 127 sono riservati per i valori locali e possono cambiare senza preavviso.

CredentialsHandle

Handle delle credenziali SSPI usato al posto di un identificatore di sessione di accesso.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione ntsecapi.h