PCRYPT_DECRYPT_PRIVATE_KEY_FUNC回调函数 (wincrypt.h)
[ PCRYPT_DECRYPT_PRIVATE_KEY_FUNC 函数可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC函数解密私钥,并在 pbClearTextKey 参数中返回解密的密钥。 PCRYPT_DECRYPT_PRIVATE_KEY_FUNC 是在 CRYPT_PKCS8_IMPORT_PARAMS 结构中指定的回调函数。 当 CRYPT_ENCRYPTED_PRIVATE_KEY_INFO 结构包含需要解密的私钥时,将使用它。 CryptImportPKCS8 函数使用此函数。 该函数必须由开发人员实现,以适应每个应用程序。
语法
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC PcryptDecryptPrivateKeyFunc;
BOOL PcryptDecryptPrivateKeyFunc(
[in] CRYPT_ALGORITHM_IDENTIFIER Algorithm,
[in] CRYPT_DATA_BLOB EncryptedPrivateKey,
[out] BYTE *pbClearTextKey,
[in, out] DWORD *pcbClearTextKey,
[in] LPVOID pVoidDecryptFunc
)
{...}
参数
[in] Algorithm
一个CRYPT_ALGORITHM_IDENTIFIER结构,用于标识用于加密 PKCS #8 标准中的 PrivateKeyInfo ASN.1 类型的算法。
[in] EncryptedPrivateKey
标识加密密钥 BLOB的CRYPT_DATA_BLOB值。
[out] pbClearTextKey
指向用于接收纯文本的 BYTE 缓冲区的指针。 此参数可以为 NULL。 有关详细信息,请参阅 检索长度未知的数据。
[in, out] pcbClearTextKey
指向 DWORD 值的指针,该值标识 pbClearTextKey 缓冲区的大小(以字节为单位)。 如果大小为零,则应使用解密密钥所需的大小(以字节为单位)填充 , 并且 应忽略 pbClearTextKey 。
[in] pVoidDecryptFunc
提供解密中使用的数据的 LPVOID 值,例如密钥、初始化向量和密码。
返回值
如果函数成功,则函数) 返回非零 (TRUE 。
如果函数失败,则返回零 (FALSE) 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |