SslImportKey 函数

SslImportKey 函数将密钥导入安全套接字层协议 (SSL) 协议提供程序。

语法

SECURITY_STATUS WINAPI SslImportKey(
  _In_  NCRYPT_PROV_HANDLE hSslProvider,
  _Out_ NCRYPT_KEY_HANDLE  *phKey,
  _In_  LPCWSTR            pszBlobType,
  _In_  PBYTE              pbKeyBlob,
  _In_  DWORD              cbKeyBlob,
  _In_  DWORD              dwFlags
);

参数

hSslProvider [in]

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

phKey [out]

指向用于接收导入 密钥的加密密钥 句柄的指针。

pszBlobType [in]

一个以 null 结尾的 Unicode 字符串,其中包含一个标识符,该标识符指定 pbInput 缓冲区中包含的 BLOB 的类型。 这可以是以下值之一。

含义
BCRYPT_DH_PUBLIC_BLOB
导出Diffie-Hellman 公钥pbOutput 缓冲区接收紧跟键数据的BCRYPT_DH_KEY_BLOB结构。
BCRYPT_ECCPUBLIC_BLOB
(ECC) 公钥导出椭圆曲线加密pbOutput 缓冲区接收紧跟键数据的BCRYPT_ECCKEY_BLOB结构。
BCRYPT_OPAQUE_KEY_BLOB
以特定于单个加密服务提供程序的格式导出对称密钥, (CSP) 。 不透明 BLOB 不可传输,必须使用生成 BLOB 的同一 CSP 导入。
BCRYPT_RSAPUBLIC_BLOB
导出 RSA 公钥。 pbOutput 缓冲区接收紧跟键数据的BCRYPT_RSAKEY_BLOB结构。

pbKeyBlob [in]

指向包含 密钥 BLOB 的缓冲区的指针。

cbKeyBlob [in]

pbKeyBlob 缓冲区的大小(以字节为单位)。

dwFlags [in]

此参数留待将来使用。

返回值

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

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

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

返回代码/值 说明
NTE_NO_MEMORY
0x8009000EL
没有足够的内存可用于分配必要的缓冲区。
NTE_INVALID_HANDLE
0x80090026L
hSslProvider 句柄无效。
NTE_INVALID_PARAMETER
0x80090027L
phKey 参数为 NULL

备注

在将会话密钥从一个进程传输到另一个进程的过程中,可以使用 SslImportKey 函数导入会话密钥。

要求

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