KERB_RETRIEVE_TKT_REQUEST 结构 (ntsecapi.h)
KERB_RETRIEVE_TKT_REQUEST 结构包含用于检索票证的信息。
LsaCallAuthenticationPackage 使用它。Kerberos 票证在 Internet 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 身份验证包会将 LsaCallAuthenticationPackage 的 ProtocolStatus 参数设置为STATUS_ACCESS_DENIED。
TargetName
包含 目标服务名称的UNICODE_STRING。
TicketFlags
包含指定检索的票证的用途的标志。 如果 TicketFlags 设置为零,并且缓存中存在匹配的票证,则无论其标志值如何,都将返回该票证。 如果缓存中没有匹配项,则将请求具有默认标志值的新票证。
如果此成员未设置为零,则不会缓存返回的票证。
CacheOptions
指示用于搜索缓存的选项。 将此成员设置为零以指示应搜索缓存;如果未找到票证,则应请求新票证。
如果此成员未设置为零,则不会缓存返回的票证。
CacheOptions 可以包含以下值。
值 | 含义 |
---|---|
|
始终请求新票证;不要搜索缓存。
如果获得了票证,Kerberos 身份验证包将在 LsaCallAuthenticationPackage 函数的 ProtocolStatus 参数中返回STATUS_SUCCESS。 |
|
使用 CredentialsHandle 成员而不是 LogonId 来标识登录会话。 凭据句柄用作为其检索票证的客户端凭据 注意 此选项不适用于在 64 位 Windows 上运行的基于 32 位 Windows 的应用程序。 |
|
仅返回以前缓存的票证。
如果未找到此类票证,Kerberos 身份验证包将在 LsaCallAuthenticationPackage 函数的 ProtocolStatus 参数中返回STATUS_OBJECT_NAME_NOT_FOUND。 |
|
以 Kerberos 凭据的形式返回票证。 Kerberos 票证在 Internet RFC 4120 中定义为KRB_CRED。 有关详细信息,请参阅 http://www.ietf.org。 |
|
未实现。 |
|
返回当前位于缓存中的票证。 如果票证不在缓存中,则会请求该票证,然后缓存该票证。 此标志不应与 KERB_RETRIEVE_TICKET_DONT_USE_CACHE 标志一起使用。
Windows XP SP1 及更早版本以及 Windows Server 2003: 此选项不可用。 |
|
返回策略允许的最大时间的新票证。 之后将缓存代码。 使用此标志意味着未设置KERB_RETRIEVE_TICKET_USE_CACHE_ONLY和KERB_RETRIEVE_TICKET_CACHE_TICKET。
Windows Vista、Windows Server 2008、Windows XP SP1 及更早版本以及 Windows Server 2003: 此选项不可用。 |
EncryptionType
指定要用于请求的票证的加密类型。 如果此成员未设置为零,则不会缓存返回的票证。
此成员可以具有以下值之一。
值 | 含义 |
---|---|
|
通过 CRC-32 校验和在密码块链接模式下使用 DES 加密。 |
|
通过 MD4 校验和在密码块链接模式下使用 DES 加密。 |
|
通过 MD5 校验和在密码块链接模式下使用 DES 加密。 |
|
不使用加密。 |
|
将 RC4 流密码与 Windows 使用的基于哈希的消息身份验证代码 (MAC) 配合使用。 |
|
将 RC4 流密码与 MD4 哈希函数一起使用。 |
|
大于 127 的值保留给本地值,可能会更改,恕不另行通知。 |
CredentialsHandle
用于代替登录会话标识符的 SSPI 凭据句柄。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | ntsecapi.h |