KERB_CERTIFICATE_LOGON 结构 (ntsecapi.h)
KERB_CERTIFICATE_LOGON 结构包含有关智能卡登录会话的信息。
当 Kerberos 安全包执行交互式智能卡登录时,它将作为 AuthenticationInformation 参数传递给 LsaLogonUser 函数。
语法
typedef struct _KERB_CERTIFICATE_LOGON {
KERB_LOGON_SUBMIT_TYPE MessageType;
UNICODE_STRING DomainName;
UNICODE_STRING UserName;
UNICODE_STRING Pin;
ULONG Flags;
ULONG CspDataLength;
PUCHAR CspData;
} KERB_CERTIFICATE_LOGON, *PKERB_CERTIFICATE_LOGON;
成员
MessageType
指示如何使用此结构的 KERB_LOGON_SUBMIT_TYPE 枚举的成员。 成员必须是以下值之一。
值 | 含义 |
---|---|
|
此结构作为 AuthenticationInformation 参数传递给 LsaLogonUser 函数,以执行交互式智能卡登录。 |
|
此结构用作 KERB_CERTIFICATE_UNLOCK_LOGON 结构的登录成员。 |
DomainName
要进行身份验证的用户的域名。 此成员的值可以为空。 如果值不为空, 则 LsaLogonUser 使用值查找 密钥分发中心 (KDC) 。 如果值为空, 则 LsaLogonUser 会尝试对计算机加入到的域进行身份验证。 指针相对于结构的开头,不是绝对内存指针。
UserName
要进行身份验证的用户的用户名。 此成员的值可以为空。 如果值不为空, 则 LsaLogonUser 使用 值来查找要进行身份验证的用户帐户。 指针相对于结构的开头,不是绝对内存指针。
Pin
用于对用户进行身份验证的 PIN。 此结构的 Length 成员不包括 PIN 的终止 null 字符。 指针相对于结构的开头,不是绝对内存指针。
可以使用 CredProtect 函数保护 PIN。
Flags
控制身份验证行为的可选标志。 定义了以下值。
CspDataLength
CspData 成员的长度(以字符为单位)。
CspData
指向KERB_SMARTCARD_CSP_INFO结构的指针,其中包含有关云解决方案提供商 (CSP) ) 的智能卡加密服务提供程序的信息,或指向更新证书凭据时封送KERB_CERTIFICATE_INFO结构的指针。
注解
此结构以及 DomainName、 UserName、 Pin 和 CspData 成员指向的数据包含在单个连续内存块中。 序列化此结构时,每个成员指定的偏移量必须是 2 的倍数。
存储在 UNICODE_STRING 类型的成员中的指针相对于结构的开头,不是绝对内存指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | ntsecapi.h |