Freigeben über


KERB_RETRIEVE_TKT_REQUEST-Struktur (ntsecapi.h)

Die KERB_RETRIEVE_TKT_REQUEST-Struktur enthält Informationen, die zum Abrufen eines Tickets verwendet werden.

Es wird von LsaCallAuthenticationPackage verwendet. Das Kerberos-Ticket ist in Internet RFC 4120 definiert. Weitere Informationen finden Sie unter http://www.ietf.org.

Syntax

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;

Member

MessageType

KERB_PROTOCOL_MESSAGE_TYPE Wert, der den Typ der anforderung angibt. Dieses Element muss auf KerbRetrieveEncodedTicketMessage festgelegt werden.

LogonId

LUID-Struktur , die den Anmeldesitzungsbezeichner enthält. Dies kann für die Anmeldesitzung des aktuellen Benutzers null sein. Wenn nicht 0, muss für den Aufrufer die SeTcbPrivilege-Berechtigung festgelegt sein. Wenn dies fehlschlägt, legt das Kerberos-Authentifizierungspaket den Parameter ProtocolStatus von LsaCallAuthenticationPackage auf STATUS_ACCESS_DENIED fest.

TargetName

UNICODE_STRING den Namen des Zieldiensts enthalten.

TicketFlags

Enthält Flags, die Verwendungen für das abgerufene Ticket angeben. Wenn TicketFlags auf 0 festgelegt ist und ein übereinstimmende Ticket im Cache gefunden wurde, wird dieses Ticket zurückgegeben, unabhängig von den Flagwerten. Wenn im Cache keine Übereinstimmung vorhanden ist, wird ein neues Ticket mit den Standardwerten angefordert.

Wenn dieser Member nicht auf Null festgelegt ist, wird das zurückgegebene Ticket nicht zwischengespeichert.

CacheOptions

Gibt Optionen zum Durchsuchen des Caches an. Legen Sie dieses Element auf 0 fest, um anzugeben, dass der Cache durchsucht werden soll, und wenn kein Ticket gefunden wird, sollte ein neues Ticket angefordert werden.

Wenn dieser Member nicht auf Null festgelegt ist, wird das zurückgegebene Ticket nicht zwischengespeichert.

CacheOptions kann die folgenden Werte enthalten.

Wert Bedeutung
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
Fordern Sie immer ein neues Ticket an. Durchsuchen Sie den Cache nicht.

Wenn ein Ticket abgerufen wird, gibt das Kerberos-Authentifizierungspaket STATUS_SUCCESS im ProtocolStatus-Parameter der LsaCallAuthenticationPackage-Funktion zurück.

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
Verwenden Sie das CredentialsHandle-Element anstelle von LogonId , um die Anmeldesitzung zu identifizieren. Das Anmeldeinformationshandle wird als Clientanmeldeinformationen verwendet, für die das Ticket abgerufen wird.

Hinweis Diese Option ist nicht für 32-Bit-Windows-basierte Anwendungen verfügbar, die unter 64-Bit-Windows ausgeführt werden.

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
Gibt nur ein zuvor zwischengespeichertes Ticket zurück.

Wenn ein solches Ticket nicht gefunden wird, gibt das Kerberos-Authentifizierungspaket STATUS_OBJECT_NAME_NOT_FOUND im ProtocolStatus-Parameter der LsaCallAuthenticationPackage-Funktion zurück.

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
Geben Sie das Ticket als Kerberos-Anmeldeinformationen zurück. Das Kerberos-Ticket ist in Internet RFC 4120 als KRB_CRED definiert. Weitere Informationen finden Sie unter http://www.ietf.org.
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
Nicht implementiert.
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
Geben Sie das Ticket zurück, das sich derzeit im Cache befindet. Wenn sich das Ticket nicht im Cache befindet, wird es angefordert und anschließend zwischengespeichert. Dieses Flag sollte nicht mit dem KERB_RETRIEVE_TICKET_DONT_USE_CACHE-Flag verwendet werden.

Windows XP mit SP1 und früher und Windows Server 2003: Diese Option ist nicht verfügbar.

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
Zurückgeben eines neuen Tickets mit maximal zulässiger Zeit durch die Richtlinie. Der Ticker wird anschließend zwischengespeichert. Die Verwendung dieses Flags bedeutet, dass KERB_RETRIEVE_TICKET_USE_CACHE_ONLY nicht festgelegt und KERB_RETRIEVE_TICKET_CACHE_TICKET festgelegt ist.

Windows Vista, Windows Server 2008, Windows XP mit SP1 und früher und Windows Server 2003: Diese Option ist nicht verfügbar.

EncryptionType

Gibt den Verschlüsselungstyp an, der für das angeforderte Ticket verwendet werden soll. Wenn dieser Member nicht auf Null festgelegt ist, wird das zurückgegebene Ticket nicht zwischengespeichert.

Dieser Member kann über einen der folgenden Werte verfügen.

Wert Bedeutung
KERB_ETYPE_DES_CBC_CRC
Verwenden Sie dieDES-Verschlüsselung im Verschlüsselungsblockkettenmodus mit einer CRC-32-Prüfsumme.
KERB_ETYPE_DES_CBC_MD4
Verwenden Sie die DES-Verschlüsselung im Verschlüsselungsblockkettenmodus mit einer MD4-Prüfsumme.
KERB_ETYPE_DES_CBC_MD5
Verwenden Sie die DES-Verschlüsselung im Verschlüsselungsblockkettenmodus mit einer MD5-Prüfsumme.
KERB_ETYPE_NULL
Verwenden Sie keine Verschlüsselung.
KERB_ETYPE_RC4_HMAC_NT
Verwenden Sie die RC4-Streamchiffre mit einem hashbasiertenNachrichtenauthentifizierungscode (MAC), wie er von Windows verwendet wird.
KERB_ETYPE_RC4_MD4
Verwenden Sie die RC4-Streamchiffre mit der MD4-Hashfunktion.
>127
Werte größer als 127 sind für lokale Werte reserviert und können sich ohne Vorheriges ändern.

CredentialsHandle

Ein SSPI-Anmeldeinformationshandle, das anstelle eines Anmeldesitzungsbezeichners verwendet wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile ntsecapi.h