IX509PrivateKey::Import 方法 (certenroll.h)

Import 方法将现有私钥导入加密提供程序中的密钥容器。

语法

HRESULT Import(
  [in] BSTR         strExportType,
  [in] BSTR         strEncodedKey,
  [in] EncodingType Encoding
);

参数

[in] strExportType

如果密钥是使用 CNG KSP (密钥存储提供程序) 创建的,则 Import 方法会将此参数传递给 NCryptSetProperty 函数的 pszProperty 参数。 也就是说,指定的值将用作要在导入的键上设置的属性的名称。

如果密钥是使用 CryptoAPI CSP (加密服务提供程序) 创建的,则此参数指定如何导入私钥。 此值可以是以下值。

含义
BCRYPT_PRIVATE_KEY_BLOB
导入整个私钥。

[in] strEncodedKey

包含要导入的密钥的 BSTR 变量。

[in] Encoding

一个 EncodingType 枚举值,该值指定要应用于 strEncodedKey 参数中包含的字符串的 Unicode 编码的类型。 默认值为 XCN_CRYPT_STRING_BASE64。

返回值

如果函数成功,该函数将返回 S_OK

如果函数失败,它将返回一个 指示错误的 HRESULT 值。 可能的值包括(但并不限于)下表中的项。 有关常见错误代码的列表,请参阅 通用 HRESULT 值

返回代码 说明
HRESULT_FROM_WIN32 (ERROR_FILE_READ_ONLY)
密钥容器已打开。 如果已调用 “打开” 或“ 创建”,则会收到此错误。
HRESULT_FROM_WIN32 (ERROR_CALL_NOT_IMPLEMENTED)
密钥是由 CryptoAPI CSP 创建的,你为 strExportType 参数指定了除 BCRYPT_PRIVATE_KEY_BLOB 以外的值。

注解

如果为 strExportType 参数指定了除 BCRYPT_PRIVATE_KEY_BLOB 以外的值,并且未设置以下任何属性,则 Import 函数会自动假定您尝试导入 CNG KSP 键:

要求

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

另请参阅

IX509PrivateKey