CRYPT_PKCS8_EXPORT_PARAMS 结构 (wincrypt.h)

[ CRYPT_PKCS8_EXPORT_PARAMS 结构可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]

CRYPT_PKCS8_EXPORT_PARAMS 结构标识私钥和用于加密私钥的回调函数。 CRYPT_PKCS8_EXPORT_PARAMS 用作
CryptExportPKCS8Ex 函数,以 PKCS #8 格式导出私钥。

语法

typedef struct _CRYPT_PKCS8_EXPORT_PARAMS {
  HCRYPTPROV                      hCryptProv;
  DWORD                           dwKeySpec;
  LPSTR                           pszPrivateKeyObjId;
  PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC pEncryptPrivateKeyFunc;
  LPVOID                          pVoidEncryptFunc;
} CRYPT_PKCS8_EXPORT_PARAMS, *PCRYPT_PKCS8_EXPORT_PARAMS;

成员

hCryptProv

包含用于加密私钥的 CSP (CSP) 的句柄的 HCRYPTPROV 变量。 这是通过调用 CryptAcquireContext 获取的 CSP 的句柄。

dwKeySpec

包含密钥规范的 DWORD 变量。 为默认提供程序定义以下 dwKeySpec 值。

含义
AT_KEYEXCHANGE
用于加密/解密会话密钥的密钥。
AT_SIGNATURE
用于创建和验证数字签名的密钥。

pszPrivateKeyObjId

包含对象标识符 (OID) 要导出的私钥的 LPSTR 变量。

pEncryptPrivateKeyFunc

指向对私钥进行加密的函数的回调的 PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC 指针。 如果此值为 NULL,则私钥未加密,并且 CryptExportPKCS8Ex 不会生成 PKCS #8CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 结构。

pVoidEncryptFunc

提供用于加密的数据(例如密钥、初始化向量和密码)的 LPVOID 值。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 wincrypt.h

另请参阅

CRYPT_ENCRYPTED_PRIVATE_KEY_INFO

CryptAcquireContext

CryptExportPKCS8Ex

PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC