SpSealMessageFn 回调函数 (ntsecpkg.h)
加密在客户端和服务器之间交换的消息。
SpSealMessage 函数是安全支持提供程序接口的 EncryptMessage (General) 函数的调度函数。
语法
SpSealMessageFn Spsealmessagefn;
NTSTATUS Spsealmessagefn(
[in] LSA_SEC_HANDLE ContextHandle,
[in] ULONG QualityOfProtection,
[in, out] PSecBufferDesc MessageBuffers,
[in] ULONG MessageSequenceNumber
)
{...}
参数
[in] ContextHandle
用于对消息进行签名 的安全上下文 的句柄。
[in] QualityOfProtection
指定指示保护质量的包特定标志。 SSP/AP 可以使用此参数来启用加密算法的选择。
[in, out] MessageBuffers
指向包含消息缓冲区 的 SecBufferDesc 结构的指针。 这些消息缓冲区中只有一个可以属于 SECBUFFER_DATA 类型,并且包含要加密的消息。 缓冲区不能具有 SECBUFFER_READONLY 属性,因为加密是就地完成的。
[in] MessageSequenceNumber
要分配给消息的序列号。 序列号是可选的,用作防止消息丢失和插入的保护。 值为零表示序列号未使用。
返回值
如果函数成功,则返回STATUS_SUCCESS。
如果函数失败,则返回一个 NTSTATUS 代码,用于指示它失败的原因。 下表列出了失败的常见原因以及函数应返回的错误代码。
返回代码 | 说明 |
---|---|
|
找不到上下文,或者未针对消息完整性进行配置。 |
|
找不到签名缓冲区或太小。 |
注解
发送方使用 SpSealMessage 函数加密的消息使用 SpUnsealMessage 函数解密。
SSP/AP 必须实现 SpSealMessage 函数;但是,为实现提供的实际名称由开发人员决定。
从 SpUserModeInitialize 函数接收的 SECPKG_USER_FUNCTION_TABLE 结构中提供了指向 SpSealMessage 函数的指针。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | ntsecpkg.h |