身份验证结构

身份验证结构根据使用情况进行分类,如下所示:

SSPI 结构

Sspi.h 中定义的以下结构用于 SSPI 函数。

结构 说明
CREDSSP_CRED 指定 Schannel 和 Negotiate 安全包的身份验证数据
SEC_WINNT_AUTH_IDENTITY 用于将特定用户名和密码传递到运行时库,以便进行身份验证。
SEC_WINNT_AUTH_IDENTITY_EX 包含有关用户的信息。 同时提供了此结构的 ANSI 和 Unicode 形式。
SecBuffer 传输应用程序分配的要传递给 安全包的缓冲区。
SecBufferDesc 要从传输应用程序传递到安全包的 SecBuffer 结构的数组。
SecPkgContext_AccessToken 包含 安全上下文的访问令牌的句柄。
SecPkgContext_ClientCreds 在调用 QueryContextAttributes (CredSSP) 函数时指定客户端凭据。
SecPkgContext_ConnectionInfo 包含协议和密码信息。 QueryContextAttributes (General) 函数使用此结构。
SecPkgContext_CredentialName 指定凭据名称。
SecPkgContext_DceInfo 包含 DCE 服务使用的授权数据。
SecPkgContext_EapKeyBlock 包含 EAP TLS 身份验证协议使用的密钥数据。
SecPkgContext_Flags 包含有关安全上下文中的标志的信息。
SecPkgContext_IssuerListInfoEx 包含受信任的 证书颁发机构 列表 (CA) 。
SecPkgContext_Lifespan 指示安全上下文的生命周期。
SecPkgContext_Names 包含与安全上下文关联的用户的名称。
SecPkgContext_NativeNames 包含出站票证中的客户端和服务器主体名称。
SecPkgContext_NegotiationInfo 包含有关正在设置或已设置 的安全包 的信息。 它还提供设置安全包的协商状态。
SecPkgContext_PackageInfo 包含 安全支持提供程序 的名称 (SSP) 。
SecPkgContext_PasswordExpiry 包含有关密码或其他凭据过期的信息。
SecPkgContext_SessionKey 包含有关会话密钥的信息。
SecPkgContext_Sizes 包含消息支持函数中使用的重要结构的大小。
SecPkgContext_StreamSizes 包含用于消息支持函数的各种流属性的大小。
SecPkgContext_TargetInformation 包含有关用于安全上下文的凭据的信息。
SecPkgCredentials_Names 保留与 上下文关联的用户的名称。
SecPkgInfo 提供有关 安全包的常规信息,例如其名称和功能。
SECURITY_INTEGER 用于保存数值的结构。 它用于定义其他类型。
SecurityFunctionTable 包含指向 SSPI 中定义的函数的指针的调度表。

Schannel 结构

定义以下结构以用于 Schannel。

结构 说明
SCH_CRED_PUBLIC_CERTCHAIN 包含单个证书。 可以从此证书生成认证链。
SCH_CRED_SECRET_PRIVKEY 包含对客户端或服务器进行身份验证所需的 私钥 信息。
SCHANNEL_CERT_HASH 包含 Schannel 使用的证书的哈希存储数据。
SCHANNEL_CERT_HASH_STORE 包含 Schannel 在内核模式下使用的证书的哈希存储数据。
SCHANNEL_ALERT_TOKEN 生成 安全套接字层协议 (SSL) 或传输层安全协议, (TSL) 警报发送到调用 InitializeSecurityContext (Schannel) 函数或 AcceptSecurityContext (Schannel) 函数的目标。
SCHANNEL_CLIENT_SIGNATURE 当调用 InitializeSecurityContext (Schannel) 函数无法访问客户端证书的私钥时指定客户端签名 (,在这种情况下,该函数返回 SEC_I_SIGNATURE_NEEDED) 。
SCHANNEL_CRED 包含 Schannel 凭据的数据。
SCHANNEL_SESSION_TOKEN 指定是否为通过调用 InitializeSecurityContext (Schannel) 函数或 AcceptSecurityContext (Schannel ) 函数创建的身份验证会话启用重新连接。
SecPkgContext_Authority 包含身份验证机构的名称(如果可用)。 它可以是 证书颁发机构 (CA) ,也可以是对连接进行身份验证的服务器或域的名称。
SecPkgContext_ConnectionInfo 包含协议和密码信息。 此结构由 QueryContextAttributes (General) 函数使用。
SecPkgContext_IssuerListInfoEx 包含受信任的 证书颁发机构的列表。
SecPkgContext_KeyInfo 包含有关安全上下文中使用的会话密钥的信息。 此结构已被 SecPkgContext_ConnectionInfo 结构取代。
SecPkgContext_ProtoInfo 保存有关正在使用的协议的信息。
SecPkgContext_SessionAppData 存储会话上下文的应用程序数据。
SecPkgCred_CipherStrengths 保留指定的 Schannel 凭据使用的密码允许的最小和最大强度。
SecPkgCred_SupportedAlgs 包含指定的 Schannel 凭据允许的算法的标识符。
SecPkgCred_SupportedProtocols 指示指定的 Schannel 凭据允许的协议。
X509Certificate 表示 X.509 证书。

自定义安全包结构

自定义 安全包 使用以下结构。

结构 说明
LSA_SECPKG_FUNCTION_TABLE 指向 本地安全机构 (LSA) 自定义安全包可以调用的函数的指针表。
SECPKG_CALL_INFO 包含有关执行函数调用的信息。
SECPKG_CLIENT_INFO 包含有关安全包用户的信息。
SECPK_CONTEXT_THUNKS 包含有关将使用 LSA 在进程内执行的安全包调用的信息。
SECPKG_DLL_FUNCTIONS 包含可用于使用客户端/服务器应用程序在进程内执行的自定义安全包的函数。
SECPKG_EVENT_DOMAIN_CHANGE 包含 会话 和计算机信息。 此结构名称是 SECPKG_PARAMETERS 结构的别名。
SECPKG_EVENT_NOTIFY 包含有关安全相关事件的信息。
SECPKG_EVENT_PACKAGE_CHANGE 包含有关安全包可用性和使用情况的信息。
SECPKG_EXTENDED_INFORMATION 包含有关安全包的扩展信息。
SECPKG_FUNCTION_TABLE 包含指向由安全包实现的函数的指针。
SECPKG_GSS_INFO 包含有关用于标识安全包的 GSS OID 的信息。
SECPKG_MUTUAL_AUTH_LEVEL 包含有关安全包使用的相互身份验证级别的信息。
SECPKG_PARAMETERS 包含 会话 和计算机信息。
SECPKG_PRIMARY_CRED 包含 主凭据 信息。
SECPKG_SUPPLEMENTAL_CRED 包含 补充凭据 信息。
SECPKG_SUPPLEMENTAL_CRED_ARRAY 包含补充凭据信息。
SECPKG_USER_FUNCTION_TABLE 包含由使用客户端/服务器应用程序在进程内加载的安全包实现的函数。
SecurityUserData 包含有关已登录用户的信息。

网络提供程序结构

网络提供程序 API 和相关函数使用以下结构。

结构 说明
NETCONNECTINFOSTRUCT 包含有关网络连接性能的信息。
NETRESOURCE 包含有关枚举网络资源的信息。
NOTIFYADD 包含网络连接操作的详细信息。
NOTIFYCANCEL 包含网络断开连接操作的详细信息。
NOTIFYINFO 包含有关网络连接或断开连接操作的状态信息。
REMOTE_NAME_INFO 包含有关远程通用名称的信息。
UNIVERSAL_NAME_INFO 包含本地通用名称。

GINA 结构

GINA 接口函数和 Winlogon 支持函数使用以下结构。

结构 说明
WLX_CLIENT_CREDENTIALS_INFO_V1_0 包含客户端凭据信息。
WLX_CONSOLESWITCH_CREDENTIALS_INFO_V1_0 包含允许以透明方式将凭据传输到目标会话的客户端凭据。
WLX_DESKTOP 包含桌面信息。
WLX_DISPATCH_VERSION_1_0 包含 Winlogon 版本 1.0 调度表。
WLX_DISPATCH_VERSION_1_1 包含 Winlogon 版本 1.1 调度表。
WLX_DISPATCH_VERSION_1_2 包含 Winlogon 版本 1.2 调度表。
WLX_DISPATCH_VERSION_1_3 包含 Winlogon 版本 1.3 调度表。
WLX_DISPATCH_VERSION_1_4 包含 Winlogon 版本 1.4 调度表。
WLX_MPR_NOTIFY_INFO 包含身份验证和标识信息。
WLX_PROFILE_V1_0 包含用于设置初始环境的信息。
WLX_PROFILE_V2_0 包含用于设置初始环境的信息。
WLX_TERMINAL_SERVICES_DATA 包含终端服务配置文件路径和主目录信息。

本地安全机构结构

本地安全机构 (LSA) 使用以下结构。

结构 说明
DOMAIN_PASSWORD_INFORMATION 包含有关域的密码策略的信息,例如密码的最小长度以及密码必须具有多大唯一性。
KERB_ADD_CREDENTIALS_REQUEST 指定要添加、删除或替换登录会话的额外服务器凭据的消息。
KERB_ADD_CREDENTIALS_REQUEST_EX 指定用于添加、删除或替换登录会话的额外服务器凭据的消息,服务 主体名称 (SPN) 与该凭据相关联。
KERB_CERTIFICATE_LOGON 包含有关智能卡登录会话的信息。
KERB_CERTIFICATE_UNLOCK_LOGON 包含用于解锁在交互式智能卡登录会话期间锁定的工作站的信息。
KERB_CHANGEPASSWORD_REQUEST 包含用于更改密码的信息。
KERB_CRYPTO_KEY 包含有关 Kerberos加密会话密钥的信息。
KERB_EXTERNAL_NAME 包含有关外部名称的信息。
KERB_EXTERNAL_TICKET 包含有关外部票证的信息。
KERB_INTERACTIVE_LOGON 包含有关交互式 登录会话的信息。
KERB_INTERACTIVE_PROFILE 包含有关交互式登录配置文件的信息。
KERB_INTERACTIVE_UNLOCK_LOGON 包含用于解锁在交互式 登录会话期间锁定的工作站的信息。
KERB_PURGE_TKT_CACHE_REQUEST 包含用于从票证缓存中删除条目的信息。
KERB_QUERY_TKT_CACHE_REQUEST 用于检索有关指定用户登录会话的所有缓存票证的信息。
KERB_QUERY_TKT_CACHE_RESPONSE 包含查询票证缓存的结果。
KERB_RETRIEVE_TKT_REQUEST 包含用于检索票证的信息。
KERB_RETRIEVE_TKT_RESPONSE 包含从检索票证的响应。
KERB_S4U_LOGON 包含有关用户 (S4U) 登录会话的服务的信息。
KERB_SMARTCARD_CSP_INFO 包含有关智能卡加密服务提供程序 (CSP) 的信息。
KERB_SMART_CARD_LOGON 包含有关智能卡登录会话的信息。
KERB_SMART_CARD_UNLOCK_LOGON 包含用于解锁在智能卡登录会话期间锁定的工作站的信息。
KERB_TICKET_CACHE_INFO 包含有关缓存的 Kerberos 票证的信息。
KERB_TICKET_LOGON 包含网络登录的配置文件信息。
KERB_TICKET_PROFILE 包含有关交互式登录配置文件的信息。
KERB_TICKET_UNLOCK_LOGON 包含用于解锁工作站的信息。
LSA_DISPATCH_TABLE 指向 Windows 身份验证包 可以调用的 LSA 函数的指针表。
LSA_STRING 包含 ANSI 字符串及其长度信息。
LSA_FOREST_TRUST_BINARY_DATA 包含 LSA 林信任操作中使用的二进制数据。
LSA_FOREST_TRUST_COLLISION_INFORMATION 包含有关 LSA 林信任冲突的信息。
LSA_FOREST_TRUST_RECORD 包含有关 LSA 林信任冲突的信息。
LSA_FOREST_TRUST_DOMAIN_INFO 包含域的标识信息。
LSA_FOREST_TRUST_INFORMATION 包含 LSA 林信任信息。
LSA_FOREST_TRUST_RECORD 包含 LSA 林信任记录。
LSA_TOKEN_INFORMATION_NULL 在需要未经身份验证的系统访问的情况下使用。 此结构没有内容。
LSA_TOKEN_INFORMATION_V1 包含身份验证包可以放置在版本 1 Windows 令牌对象中的信息。
MSV1_0_CHANGEPASSWORD_REQUEST 已过时。
MSV1_0_CHANGEPASSWORD_RESPONSE 已过时。
MSV1_0_ENUMUSERS_REQUEST 已过时。
MSV1_0_ENUMUSERS_RESPONSE 已过时。
MSV1_0_GETUSERINFO_REQUEST 已过时。
MSV1_0_GETUSERINFO_RESPONSE 已过时。
MSV1_0_INTERACTIVE_LOGON 包含交互式登录的用户登录信息。
MSV1_0_INTERACTIVE_PROFILE 包含有关交互式登录配置文件的信息。
MSV1_0_LM20_LOGON 包含网络登录中使用的登录信息。
MSV1_0_LM20_LOGON_PROFILE 包含有关网络登录会话的信息。
MSV1_0_SUBAUTH_LOGON 子身份验证 DLL 使用。
MSV1_0_SUBAUTH_REQUEST 包含要传递给 子身份验证包的信息。
MSV1_0_SUBAUTH_RESPONSE 包含 来自子身份验证包的响应。
MSV1_0_SUPPLEMENTAL_CREDENTIAL 用于将 凭据 从 Kerberos 或自定义身份验证包传递到 MSV1_0。
NETLOGON_LOGON_IDENTITY_INFO Msv1_0SubAuthenticationRoutineMsv1_0SubAuthenticationFilter 用于传递有关用户的信息以进行登录 子身份验证
OLD_LARGE_INTEGER 用于将 64 位有符号整数值表示为两个 32 位整数。
QUOTA_LIMITS 描述用户可用的系统资源量。
SR_SECURITY_DESCRIPTOR 包含有关用户的安全 权限 的信息。
USER_ALL_INFORMATION 包含有关会话用户的信息。 与 子身份验证包一起使用。

凭据管理结构

凭据管理 API 包含以下结构。

结构 说明
CERT_CREDENTIAL_INFO 包含对证书的引用。
凭据 包含单个凭据。
CREDENTIAL_ATTRIBUTE 包含凭据的应用程序定义的属性。
CREDENTIAL_TARGET_INFORMATION 包含目标计算机的名称、域和树。
CREDUI_INFO 控制“凭据管理”对话框的外观。
USERNAME_TARGET_CREDENTIAL_INFO 包含对凭据的引用。 此结构用于将用户名传递到 CredMarshalCredential 函数和 传出 CredUnmarshalCredential

智能卡结构

智能卡提供以下结构。

结构 说明
OPENCARD_SEARCH_CRITERIA 提供 SCardUIDlgSelectCard 函数使用的特定搜索信息。
OPENCARDNAME 提供 GetOpenCardName 函数使用的信息。
OPENCARDNAME_EX 提供 SCardUIDlgSelectCard 函数使用的信息。
SCARD_ATRMASK 使用 SCardLocateCardsByATR 查找卡
SCARD_IO_REQUEST 开始协议控制信息结构。
SCARD_READERSTATE 跟踪读取器中的智能卡。