sspi.h 标头

安全和标识使用此标头。 有关详细信息,请参阅:

sspi.h 包含以下编程接口:

函数

 
AcceptSecurityContext

允许传输应用程序的服务器组件在服务器和远程客户端之间建立安全上下文。
AcquireCredentialsHandleA

AcquireCredentialsHandle (CredSSP) 函数获取安全主体的预先存在的凭据的句柄。 (ANSI)
AcquireCredentialsHandleW

AcquireCredentialsHandle (CredSSP) 函数获取安全主体的预先存在的凭据的句柄。 (Unicode)
AddCredentialsA

AddCredentialsA (ANSI) 将凭据添加到凭据列表。
AddCredentialsW

AddCredentialsW (Unicode) 将凭据添加到凭据列表。
AddSecurityPackageA

将安全支持提供程序添加到 Microsoft Negotiate 支持的提供程序列表中。 (ANSI)
AddSecurityPackageW

将安全支持提供程序添加到 Microsoft Negotiate 支持的提供程序列表中。 (Unicode)
ApplyControlToken

提供一种将控制令牌应用于安全上下文的方法。
ChangeAccountPasswordA

使用指定的安全支持提供程序更改 Windows 域帐户的密码。 (ANSI)
ChangeAccountPasswordW

使用指定的安全支持提供程序更改 Windows 域帐户的密码。 (Unicode)
CompleteAuthToken

完成身份验证令牌。 (CompleteAuthToken)
DecryptMessage

使用摘要解密消息。
DelegateSecurityContext

将安全上下文委托给指定的服务器。
DeleteSecurityContext

删除与指定安全上下文关联的本地数据结构,该上下文由先前调用 InitializeSecurityContext (General) 函数或 AcceptSecurityContext (General) 函数启动。
DeleteSecurityPackageA

从 Microsoft Negotiate 支持的提供程序列表中删除安全支持提供程序。 (ANSI)
DeleteSecurityPackageW

从 Microsoft Negotiate 支持的提供程序列表中删除安全支持提供程序。 (Unicode)
EncryptMessage

使用摘要加密消息以提供隐私。
EnumerateSecurityPackagesA

返回 SecPkgInfo 结构的数组,这些结构提供有关客户端可用的安全包的信息。 (ANSI)
EnumerateSecurityPackagesW

返回 SecPkgInfo 结构的数组,这些结构提供有关客户端可用的安全包的信息。 (Unicode)
ExportSecurityContext

ExportSecurityContext 函数创建安全上下文的序列化表示形式,以后可以通过调用 ImportSecurityContext 将其导入其他进程。
FreeContextBuffer

使安全包函数的调用方能够释放安全包分配的内存缓冲区。
FreeCredentialsHandle

通知安全系统不再需要凭据。
ImpersonateSecurityContext

允许服务器使用以前通过调用 AcceptSecurityContext (General) 或 QuerySecurityContextToken 获取的令牌来模拟客户端。
ImportSecurityContextA

导入安全上下文。 安全上下文必须已通过先前调用 ExportSecurityContext 导出到调用 ImportSecurityContext 的进程。 (ANSI)
ImportSecurityContextW

导入安全上下文。 安全上下文必须已通过先前调用 ExportSecurityContext 导出到调用 ImportSecurityContext 的进程。 (Unicode)
InitializeSecurityContextA

从凭据句柄启动客户端出站安全上下文。 (ANSI)
InitializeSecurityContextW

从凭据句柄启动客户端出站安全上下文。 (Unicode)
InitSecurityInterfaceA

InitSecurityInterface 函数返回指向 SSPI 调度表的指针。 此函数使客户端无需直接绑定到接口的实现即可使用 SSPI。 (ANSI)
InitSecurityInterfaceW

InitSecurityInterface 函数返回指向 SSPI 调度表的指针。 此函数使客户端无需直接绑定到接口的实现即可使用 SSPI。 (Unicode)
MakeSignature

生成消息的加密校验和,还包括用于防止消息丢失或插入的排序信息。
QueryContextAttributesA

允许传输应用程序查询凭据安全支持提供程序 (CredSSP) 安全包以获取安全上下文的某些属性。 (ANSI)
QueryContextAttributesExA

QueryContextAttributesExA (ANSI) 函数 (sspi.h) 使传输应用程序能够查询安全包中安全上下文的某些属性。
QueryContextAttributesExW

QueryContextAttributesExW (Unicode) 函数 (sspi.h) 使传输应用程序能够查询安全包中安全上下文的某些属性。
QueryContextAttributesW

允许传输应用程序查询凭据安全支持提供程序 (CredSSP) 安全包以获取安全上下文的某些属性。 (Unicode)
QueryCredentialsAttributesA

检索凭据的属性,例如与凭据关联的名称。 (ANSI)
QueryCredentialsAttributesExA

查询安全上下文的属性。
QueryCredentialsAttributesExW

查询安全上下文的属性。
QueryCredentialsAttributesW

检索凭据的属性,例如与凭据关联的名称。 (Unicode)
QuerySecurityContextToken

获取客户端安全上下文的访问令牌并直接使用它。
QuerySecurityPackageInfoA

检索有关指定安全包的信息。 此信息包括身份验证信息、凭据和上下文大小的限制。 (ANSI)
QuerySecurityPackageInfoW

检索有关指定安全包的信息。 此信息包括身份验证信息、凭据和上下文大小的限制。 (Unicode)
RevertSecurityContext

允许安全包停止模拟调用方并还原其自己的安全上下文。
SaslAcceptSecurityContext

包装对安全支持提供程序接口 AcceptSecurityContext 的标准调用 (常规) 函数,包括创建 SASL 服务器 Cookie。
SaslEnumerateProfilesA

列出提供 SASL 接口的包。 (ANSI)
SaslEnumerateProfilesW

列出提供 SASL 接口的包。 (Unicode)
SaslGetContextOption

检索指定 SASL 上下文的指定属性。
SaslGetProfilePackageA

返回指定包的包信息。 (ANSI)
SaslGetProfilePackageW

返回指定包的包信息。 (Unicode)
SaslIdentifyPackageA

返回与指定的 SASL 协商缓冲区匹配的协商前缀。 (ANSI)
SaslIdentifyPackageW

返回与指定的 SASL 协商缓冲区匹配的协商前缀。 (Unicode)
SaslInitializeSecurityContextA

包装对安全支持提供程序接口 InitializeSecurityContext 的标准调用 (常规) 函数,并从服务器处理 SASL 服务器 Cookie。 (ANSI)
SaslInitializeSecurityContextW

包装对安全支持提供程序接口 InitializeSecurityContext 的标准调用 (常规) 函数,并从服务器处理 SASL 服务器 Cookie。 (Unicode)
SaslSetContextOption

设置指定 SASL 上下文的指定属性的值。
SetContextAttributesA

允许传输应用程序为安全包设置安全上下文的属性。 仅 Schannel 安全包支持此函数。 (ANSI)
SetContextAttributesW

允许传输应用程序为安全包设置安全上下文的属性。 仅 Schannel 安全包支持此函数。 (Unicode)
SetCredentialsAttributesA

设置凭据的属性,例如与凭据关联的名称。 (ANSI)
SetCredentialsAttributesW

设置凭据的属性,例如与凭据关联的名称。 (Unicode)
SspiAcceptSecurityContextAsync

允许传输应用程序的服务器组件在服务器和远程客户端之间异步建立安全上下文。
SspiAcquireCredentialsHandleAsyncA

异步获取句柄以预先存在的安全主体凭据。 (ANSI)
SspiAcquireCredentialsHandleAsyncW

异步获取句柄以预先存在的安全主体凭据。 (Unicode)
SspiAsyncContextRequiresNotify

确定给定的异步上下文是否需要在调用完成时发出通知。
SspiCompareAuthIdentities

比较两个指定的凭据。
SspiCopyAuthIdentity

创建指定不透明凭据结构的副本。
SspiCreateAsyncContext

创建用于跟踪异步调用的 SspiAsyncContext 实例。
SspiDecryptAuthIdentity

解密指定的加密凭据。
SspiDecryptAuthIdentityEx

解密SEC_WINNT_AUTH_IDENTITY_OPAQUE结构。
SspiDeleteSecurityContextAsync

删除与之前调用 SspiInitializeSecurityContextAsync 函数或 SspiAcceptSecurityContextAsync 函数启动的指定安全上下文关联的本地数据结构。
SspiEncodeAuthIdentityAsStrings

将指定的身份验证标识编码为三个字符串。
SspiEncodeStringsAsAuthIdentity

将一组三个凭据字符串编码为身份验证标识结构。
SspiEncryptAuthIdentity

加密指定的标识结构。
SspiEncryptAuthIdentityEx

加密SEC_WINNT_AUTH_IDENTITY_OPAQUE结构。
SspiExcludePackage

创建一个新的标识结构,该结构是指定标识结构的副本,该结构经过修改以排除指定的安全支持提供程序 (SSP) 。
SspiFreeAsyncContext

释放在调用 SspiCreateAsyncContext 函数时创建的上下文。
SspiFreeAuthIdentity

释放为指定标识结构分配的内存。
SspiFreeCredentialsHandleAsync

释放凭据句柄。
SspiGetAsyncCallStatus

获取与提供的上下文关联的异步调用的当前状态。
SspiGetCredUIContext

从凭据提供程序检索上下文信息。 (SspiGetCredUIContext)
SspiGetTargetHostName

获取与指定目标关联的主机名。
SspiInitializeSecurityContextAsyncA

初始化异步安全上下文。 (ANSI)
SspiInitializeSecurityContextAsyncW

初始化异步安全上下文。 (Unicode)
SspiIsAuthIdentityEncrypted

指示指定的标识结构是否加密。
SspiIsPromptingNeeded

指示在调用 InitializeSecurityContext 或 AcceptSecurityContext 函数后返回的错误是否需要对 SspiPromptForCredentials 函数进行额外调用。
SspiLocalFree

释放与指定缓冲区关联的内存。
SspiMarshalAuthIdentity

将指定的标识结构序列化为字节数组。
SspiPrepareForCredRead

从指定的标识结构生成目标名称和凭据类型。
SspiPrepareForCredWrite

从标识结构生成值,该结构可以作为对 CredWrite 函数的调用中的参数值传递。
SspiPromptForCredentialsA

允许安全支持提供程序接口 (SSPI) 应用程序提示用户输入凭据。 (ANSI)
SspiPromptForCredentialsW

允许安全支持提供程序接口 (SSPI) 应用程序提示用户输入凭据。 (Unicode)
SspiReinitAsyncContext

标记异步上下文以供重复使用。
SspiSetAsyncNotifyCallback

注册一个回调,该回调在异步调用完成时收到通知。
SspiUnmarshalAuthIdentity

将指定的字节值数组反序列化为标识结构。
SspiUnmarshalCredUIContext

反序列化凭据提供程序在上一次调用 ICredentialProvider::SetSerialization 方法期间获取的凭据信息。
SspiUpdateCredentials

汇报与指定上下文关联的凭据。 (SspiUpdateCredentials)
SspiValidateAuthIdentity

指示指定的标识结构是否有效。
SspiZeroAuthIdentity

用零填充与指定标识结构关联的内存块。
VerifySignature

验证使用 MakeSignature 函数签名的消息是否按正确的顺序接收且未修改。

回调函数

 
SspiAsyncNotifyCallback

用于通知异步 SSPI 调用完成的回调。

结构

 
CREDUIWIN_MARSHALED_CONTEXT

指定已使用 ICredentialProvider::SetSerialization 方法序列化的凭据信息。
SEC_APPLICATION_PROTOCOL_LIST

存储应用程序协议的列表。
SEC_APPLICATION_PROTOCOLS

存储应用程序协议列表的数组。
SEC_CERTIFICATE_REQUEST_CONTEXT

存储证书请求上下文。
SEC_CHANNEL_BINDINGS

指定安全上下文的通道绑定信息。
SEC_DTLS_MTU

存储 DTLS MTU。
SEC_FLAGS

包含安全标志。
SEC_NEGOTIATION_INFO

存储安全协商信息。
SEC_PRESHAREDKEY

包含预先共享的密钥信息。
SEC_PRESHAREDKEY_IDENTITY

包含预共享密钥的标识。
SEC_SRTP_MASTER_KEY_IDENTIFIER

存储 SRTP 主密钥标识符。
SEC_SRTP_PROTECTION_PROFILES

存储 SRTP 保护配置文件。
SEC_TOKEN_BINDING

存储令牌绑定信息。
SEC_TRAFFIC_SECRETS

包含连接的流量机密。
SEC_WINNT_AUTH_BYTE_VECTOR

指定身份验证结构中数据的字节偏移量和数组长度。
SEC_WINNT_AUTH_CERTIFICATE_DATA

指定序列化的证书信息。
SEC_WINNT_AUTH_DATA

指定身份验证数据。
SEC_WINNT_AUTH_DATA_PASSWORD

指定序列化的密码。
SEC_WINNT_AUTH_DATA_TYPE_SMARTCARD_CONTEXTS_DATA

包含智能卡上下文的身份验证数据。
SEC_WINNT_AUTH_FIDO_DATA

包含 FIDO 身份验证的数据。
SEC_WINNT_AUTH_IDENTITY_A

允许将特定的用户名和密码传递给运行时库,以便进行身份验证。 (ANSI)
SEC_WINNT_AUTH_IDENTITY_EX2

包含有关身份验证标识的信息。
SEC_WINNT_AUTH_IDENTITY_EXA

SEC_WINNT_AUTH_IDENTITY_EXA (ANSI) 结构包含有关用户的信息。
SEC_WINNT_AUTH_IDENTITY_EXW

SEC_WINNT_AUTH_IDENTITY_EXW (Unicode) 结构包含有关用户的信息。
SEC_WINNT_AUTH_IDENTITY_INFO

包含用于身份验证的标识信息。
SEC_WINNT_AUTH_IDENTITY_W

允许将特定的用户名和密码传递给运行时库,以便进行身份验证。 (Unicode)
SEC_WINNT_AUTH_NGC_DATA

包含用于身份验证的 NGC 数据。
SEC_WINNT_AUTH_PACKED_CREDENTIALS

指定序列化凭据。
SEC_WINNT_AUTH_PACKED_CREDENTIALS_EX

指定序列化凭据和支持凭据的安全包列表。
SEC_WINNT_AUTH_SHORT_VECTOR

指定 USHORT 值数组中的偏移量和字符数。
SEC_WINNT_CREDUI_CONTEXT

指定未序列化的凭据信息。
SEC_WINNT_CREDUI_CONTEXT_VECTOR

指定SEC_WINNT_CREDUI_CONTEXT结构中凭据上下文数据的偏移量和大小。
SecBuffer

描述传输应用程序分配的缓冲区以传递给安全包。
SecBufferDesc

SecBufferDesc 结构描述要从传输应用程序传递到安全包的 SecBuffer 结构的数组。
SecHandle

表示安全句柄。
SecPkgContext_AccessToken

返回当前安全上下文的访问令牌的句柄。
SecPkgContext_ApplicationProtocol

包含有关安全上下文的应用程序协议的信息。
SecPkgContext_AuthorityA

SecPkgContext_Authority结构包含身份验证机构的名称(如果可用)。 (ANSI)
SecPkgContext_AuthorityW

SecPkgContext_Authority结构包含身份验证机构的名称(如果可用)。 (Unicode)
SecPkgContext_AuthzID

包含有关安全上下文的 AuthzID 的信息。
SecPkgContext_Bindings

指定一个结构,该结构包含安全上下文的通道绑定信息。
SecPkgContext_ClientSpecifiedTarget

在调用 QueryContextAttributes (Digest) 函数时,指定初始目标的服务主体名称 (SPN) 。
SecPkgContext_CredentialNameA

包含凭据名称和类型。
SecPkgContext_CredentialNameW

有关安全上下文的凭据名称的信息。
SecPkgContext_CredInfo

指定用于创建客户端上下文的凭据类型。
SecPkgContext_DceInfo

SecPkgContext_DceInfo结构包含 DCE 服务使用的授权数据。 QueryContextAttributes (General) 函数使用此结构。
SecPkgContext_Flags

SecPkgContext_Flags 结构包含有关当前安全上下文中的标志的信息。 此结构由 QueryContextAttributes (General) 返回。
SecPkgContext_KeyInfoA

SecPkgContext_KeyInfo结构包含有关安全上下文中使用的会话密钥的信息。 (ANSI)
SecPkgContext_KeyInfoW

SecPkgContext_KeyInfo结构包含有关安全上下文中使用的会话密钥的信息。 (Unicode)
SecPkgContext_LastClientTokenStatus

指定最近调用 InitializeSecurityContext 函数的令牌是否是客户端的最后一个令牌。
SecPkgContext_Lifespan

SecPkgContext_Lifespan结构指示安全上下文的生命周期。 QueryContextAttributes (General) 函数使用此结构。
SecPkgContext_LogoffTime

安全上下文的注销时间。
SecPkgContext_NamesA

SecPkgContext_Names 结构指示与安全上下文关联的用户的名称。 QueryContextAttributes (General) 函数使用此结构。 (ANSI)
SecPkgContext_NamesW

SecPkgContext_Names 结构指示与安全上下文关联的用户的名称。 QueryContextAttributes (General) 函数使用此结构。 (Unicode)
SecPkgContext_NativeNamesA

包含客户端和服务器主体名称。
SecPkgContext_NativeNamesW

安全上下文中客户端和服务器的本机名称。
SecPkgContext_NegoKeys

保存协商的安全包密钥。
SecPkgContext_NegoPackageInfo

保存有关协商的应用程序包的信息。
SecPkgContext_NegoStatus

指定上次尝试创建客户端上下文的错误状态。
SecPkgContext_NegotiatedTlsExtensions

SecPkgContext_NegotiatedTlsExtensions 结构包含有关为当前 (D) TLS 连接协商的 (D) TLS 扩展的信息。
SecPkgContext_NegotiationInfoA

SecPkgContext_NegotiationInfo结构包含有关正在设置或已设置的安全包的信息,并提供了设置安全包的协商状态。 (ANSI)
SecPkgContext_NegotiationInfoW

SecPkgContext_NegotiationInfo结构包含有关正在设置或已设置的安全包的信息,并提供了设置安全包的协商状态。 (Unicode)
SecPkgContext_PackageInfoA

保存应用程序包信息。
SecPkgContext_PackageInfoW

保存包信息。
SecPkgContext_PasswordExpiry

SecPkgContext_PasswordExpiry 结构包含有关用于安全上下文的密码或其他凭据过期的信息。 此结构由 QueryContextAttributes (常规) 返回。
SecPkgContext_ProtoInfoA

SecPkgContext_ProtoInfo结构保存有关正在使用的协议的信息。 (ANSI)
SecPkgContext_ProtoInfoW

SecPkgContext_ProtoInfo结构保存有关正在使用的协议的信息。 (Unicode)
SecPkgContext_SessionKey

SecPkgContext_SessionKey 结构包含有关用于安全上下文的会话密钥的信息。 此结构由 QueryContextAttributes (General) 函数返回。
SecPkgContext_Sizes

SecPkgContext_Sizes 结构指示消息支持函数中使用的重要结构的大小。 QueryContextAttributes (General) 函数使用此结构。
SecPkgContext_StreamSizes

指示要与消息支持函数一起使用的流的各个部分的大小。 QueryContextAttributes (General) 函数使用此结构。
SecPkgContext_SubjectAttributes

返回安全属性信息。
SecPkgContext_Target

保留目标信息。
SecPkgContext_TargetInformation

返回有关用于安全上下文的凭据的信息。
SecPkgContext_UserFlags

保留用户标志。
SecPkgCredentials_Cert

指定证书凭据。 QueryCredentialsAttributes 函数使用此结构。
SecPkgCredentials_KdcProxySettingsW

指定凭据的 Kerberos 代理设置。
SecPkgCredentials_NamesA

SecPkgCredentials_Names 结构包含与上下文关联的用户的名称。 QueryCredentialsAttributes 函数使用此结构。 (ANSI)
SecPkgCredentials_NamesW

SecPkgCredentials_Names 结构包含与上下文关联的用户的名称。 QueryCredentialsAttributes 函数使用此结构。 (Unicode)
SecPkgCredentials_SSIProviderA

SecPkgCredentials_SSIProvider 结构保存与上下文关联的 SSI 提供程序信息。 QueryCredentialsAttributes 函数使用此结构。 (ANSI)
SecPkgCredentials_SSIProviderW

SecPkgCredentials_SSIProvider 结构保存与上下文关联的 SSI 提供程序信息。 QueryCredentialsAttributes 函数使用此结构。 (Unicode)
SecPkgInfoA

SecPkgInfo 结构提供有关安全包的一般信息,例如其名称和功能。 (ANSI)
SecPkgInfoW

SecPkgInfo 结构提供有关安全包的一般信息,例如其名称和功能。 (Unicode)
SECURITY_INTEGER

SECURITY_INTEGER是一个包含数值的结构。 它用于定义其他类型。
SECURITY_PACKAGE_OPTIONS

指定有关安全包的信息。
SECURITY_STRING

用作内核操作的字符串接口,是UNICODE_STRING结构的克隆。
SecurityFunctionTableA

SecurityFunctionTable 结构是一个调度表,其中包含指向 SSPI 中定义的函数的指针。 (ANSI)
SecurityFunctionTableW

SecurityFunctionTable 结构是一个调度表,其中包含指向 SSPI 中定义的函数的指针。 (Unicode)

枚举

 
SEC_APPLICATION_PROTOCOL_NEGOTIATION_EXT

指示协商的应用程序协议扩展。
SEC_APPLICATION_PROTOCOL_NEGOTIATION_STATUS

描述 SEC 应用程序协议协商的状态。
SEC_TRAFFIC_SECRET_TYPE

指示使用的流量机密类型。
SecDelegationType

使用的委派类型。
SECPKG_ATTR_LCT_STATUS

指示最近一次调用 InitializeSecurityContext 函数的令牌是否是客户端的最后一个令牌。
SECPKG_CRED_CLASS

指示客户端上下文中使用的凭据的类型。 SECPKG_CRED_CLASS 枚举在 SecPkgContext_CredInfo 结构中使用。