共用方式為


KERB_RETRIEVE_TKT_REQUEST結構 (ntsecapi.h)

KERB_RETRIEVE_TKT_REQUEST 結構包含用來擷取票證的資訊。

LsaCallAuthenticationPackage 會使用它。Kerberos 票證定義於因特網 RFC 4120 中。 如需詳細資訊,請參閱http://www.ietf.org

語法

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;

成員

MessageType

KERB_PROTOCOL_MESSAGE_TYPE 值,指出所提出要求的類型。 此成員必須設定為 KerbRetrieveEncodedTicketMessage

LogonId

包含登入會話標識碼的 LUID 結構。 對於目前使用者的登入會話,這可以是零。 如果不是零,呼叫端必須設定 SeTcbPrivilege 許可權。 如果失敗,Kerberos 驗證套件會將 LsaCallAuthenticationPackageProtocolStatus 參數設定為 STATUS_ACCESS_DENIED。

TargetName

UNICODE_STRING 包含目標服務的名稱。

TicketFlags

包含指定擷取票證用途的旗標。 如果 TicketFlags 設定為零,而且如果快取中找到相符的票證,則不論其旗標值為何,都會傳回該票證。 如果快取中沒有相符專案,則會要求具有預設旗標值的新票證。

如果這個成員未設定為零,將不會快取傳回的票證。

CacheOptions

指出搜尋快取的選項。 將此成員設定為零,表示應該搜尋快取,如果找不到任何票證,則應該要求新的票證。

如果這個成員未設定為零,將不會快取傳回的票證。

CacheOptions 可以包含下列值。

意義
KERB_RETRIEVE_TICKET_DONT_USE_CACHE
1
一律要求新的票證;請勿搜尋快取。

如果取得票證,Kerberos 驗證套件會在 LsaCallAuthenticationPackage 函式的 ProtocolStatus 參數中傳回STATUS_SUCCESS。

KERB_RETRIEVE_TICKET_USE_CREDHANDLE
4
使用 CredentialsHandle 成員而非 LogonId 來識別登入會話。 認證句柄會當做擷取票證的客戶端認證使用

注意 此選項不適用於在64位 Windows 上執行的32位 Windows 應用程式。

KERB_RETRIEVE_TICKET_USE_CACHE_ONLY
2
只傳回先前快取的票證。

如果找不到這類票證,Kerberos 驗證套件會在 LsaCallAuthenticationPackage 函式的 ProtocolStatus 參數中傳回STATUS_OBJECT_NAME_NOT_FOUND。

KERB_RETRIEVE_TICKET_AS_KERB_CRED
8
以 Kerberos 認證的形式傳回票證。 Kerberos 票證會在因特網 RFC 4120 中定義為 KRB_CRED。 如需詳細資訊,請參閱http://www.ietf.org
KERB_RETRIEVE_TICKET_WITH_SEC_CRED
10
未實作。
KERB_RETRIEVE_TICKET_CACHE_TICKET
20
傳回目前在快取中的票證。 如果票證不在快取中,則會要求票證,然後快取。 此旗標不應與 KERB_RETRIEVE_TICKET_DONT_USE_CACHE 旗標搭配使用。

Windows XP 與 SP1 和更早版本和 Windows Server 2003: 無法使用此選項。

KERB_RETRIEVE_TICKET_MAX_LIFETIME
40
傳回原則允許時間上限的全新票證。 之後會快取刻度器。 使用此旗標表示未設定KERB_RETRIEVE_TICKET_USE_CACHE_ONLY,且已設定KERB_RETRIEVE_TICKET_CACHE_TICKET。

Windows Vista、Windows Server 2008、Windows XP SP1 和更早版本和 Windows Server 2003: 無法使用此選項。

EncryptionType

指定要用於所要求票證的加密類型。 如果這個成員未設定為零,將不會快取傳回的票證。

這個成員可以有下列其中一個值。

意義
KERB_ETYPE_DES_CBC_CRC
加密區塊鏈結模式中使用 DES 加密搭配 CRC-32 總和檢查碼。
KERB_ETYPE_DES_CBC_MD4
在加密區塊鏈結模式中使用 DES 加密搭配 MD4 總和檢查碼。
KERB_ETYPE_DES_CBC_MD5
在加密區塊鏈結模式中使用 DES 加密搭配 MD5 總和檢查碼。
KERB_ETYPE_NULL
不使用加密。
KERB_ETYPE_RC4_HMAC_NT
使用 RC4 數據流加密 搭配 哈希訊息驗證碼 , (MAC) ,如 Windows 使用。
KERB_ETYPE_RC4_MD4
搭配 MD4 哈希函式使用 RC4 數據流加密。
>127
大於 127 的值會保留給本機值,而且可能會變更而不通知。

CredentialsHandle

用來取代登入會話標識碼的 SSPI 認證句柄。

規格需求

需求
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
標頭 ntsecapi.h