SslEncryptPacket 函数

SslEncryptPacket 函数 (SSL) 数据包加密单个安全套接字层协议

语法

SECURITY_STATUS WINAPI SslEncryptPacket(
  _In_    NCRYPT_PROV_HANDLE hSslProvider,
  _Inout_ NCRYPT_KEY_HANDLE  hKey,
  _In_    PBYTE              *pbInput,
  _In_    DWORD              cbInput,
  _Out_   PBYTE              pbOutput,
  _In_    DWORD              cbOutput,
  _Out_   DWORD              *pcbResult,
  _In_    ULONGLONG          SequenceNumber,
  _In_    DWORD              dwContentType,
  _In_    DWORD              dwFlags
);

参数

hSslProvider [in]

SSL 协议提供程序实例的句柄。

hKey [in, out]

用于加密数据包的密钥的句柄。

pbInput [in]

指向包含要加密的数据包的缓冲区的指针。

cbInput [in]

pbInput 缓冲区的长度(以字节为单位)。

pbOutput [out]

指向用于接收加密数据包的缓冲区的指针。

cbOutput [in]

pbOutput 缓冲区的长度(字节)。

2013 年 [out]

写入 pbOutput 缓冲区的字节数。

SequenceNumber [in]

与此数据包对应的序列号。

dwContentType [in]

对应于此数据包的内容类型,该数据包指定用于处理封闭数据包的更高级别协议。

含义
CT_CHANGE_CIPHER_SPEC
20
指示加密策略的更改。
CT_ALERT
21
指示封闭的数据包包含警报。
CT_HANDSHAKE
22
指示封闭的数据包是握手协议的一部分。
CT_APPLICATIONDATA
23
指示数据包包含应用程序数据。

dwFlags [in]

此参数留待将来使用。

返回值

如果该函数成功,则返回零。

如果函数失败,它将返回非零错误值。

可能的返回代码包括但不限于以下内容。

返回代码/值 说明
NTE_INVALID_HANDLE
0x80090026L
提供的句柄之一无效。

要求

要求
最低受支持的客户端
Windows Vista [仅限桌面应用]
最低受支持的服务器
Windows Server 2008 [仅限桌面应用]
标头
Sslprovider.h
DLL
Ncrypt.dll