PFXExportCertStore 函数 (wincrypt.h)

PFXExportCertStore 函数从引用的证书存储中导出证书以及关联的私钥(如果可用)。 这是为与 Internet Explorer 4.0 客户端兼容而保留的旧函数。 新应用程序应使用 PfxExportCertStoreEx 函数,该函数提供增强的私钥安全性。

语法

BOOL PFXExportCertStore(
  [in]      HCERTSTORE      hStore,
  [in, out] CRYPT_DATA_BLOB *pPFX,
  [in]      LPCWSTR         szPassword,
  [in]      DWORD           dwFlags
);

参数

[in] hStore

包含要导出的证书的证书存储的句柄。

[in, out] pPFX

指向 CRYPT_DATA_BLOB 结构的指针,该结构包含具有导出的证书和密钥的 PFX 数据包。 如果 pPFX-pbData> 为 NULL,则该函数计算编码的 BLOB 所需的字节数,并在pPFX-cbData> 中返回此字节数。 当使用指向所需大小的已分配缓冲区的 pPFX-pbData> 调用函数时,该函数会将编码的字节复制到缓冲区中,并使用编码字节长度更新 pPFX-cbData>

[in] szPassword

用于加密和验证 PFX 数据包的字符串密码。 使用完密码后,通过调用 SecureZeroMemory 函数从内存中清除密码。 有关保护密码的详细信息,请参阅 处理密码

[in] dwFlags

可以将标志值设置为以下任意组合。

含义
EXPORT_PRIVATE_KEYS
将导出私钥以及证书。
REPORT_NO_PRIVATE_KEY
如果遇到没有关联私钥的证书,该函数将返回 FALSE ,最后一个错误设置为CRYPT_E_NOT_FOUND或NTE_NO_KEY。
REPORT_NOT_ABLE_TO_EXPORT_PRIVATE_KEY
如果遇到具有不可导出私钥的证书,该函数将返回 FALSE ,并将最后一个错误设置为NTE_BAD_KEY、NTE_BAD_KEY_STATE或NTE_PERM。

返回值

如果函数成功,则返回 TRUE (非零) ;如果函数失败,则返回 FALSE (零) 。 有关扩展的错误信息,请调用 GetLastError

要求

要求
最低受支持的客户端 Windows XP [桌面应用 | UWP 应用]
最低受支持的服务器 Windows Server 2003 [桌面应用 | UWP 应用]
目标平台 Windows
标头 wincrypt.h
Library Crypt32.lib
DLL Crypt32.dll

另请参阅

PFXExportCertStoreEx

PFXImportCertStore