使用英语阅读

通过


身份验证结构

身份验证结构按使用情况分类,如下所示:

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 (常规) 函数使用。
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 (常规) 函数使用。
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 包含单个凭据。
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 跟踪读取器中的智能卡。