PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC回调函数 (wincrypt.h)
如果签名包含编码参数,则调用 PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC 回调函数来解码并返回哈希算法标识符和签名参数(可选)。
语法
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;
BOOL PfnCryptExtractEncodedSignatureParametersFunc(
[in] DWORD dwCertEncodingType,
[in] PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
[out, optional] void **ppvDecodedSignPara,
[out] LPWSTR *ppwszCNGHashAlgid
)
{...}
参数
[in] dwCertEncodingType
指定使用的编码类型。 始终可以接受将证书和 消息编码类型 与按位 OR 操作组合在一起,如以下示例所示:
X509_ASN_ENCODING |PKCS_7_ASN_ENCODING当前定义的编码类型为:
- X509_ASN_ENCODING
- PKCS_7_ASN_ENCODING
[in] pSignatureAlgorithm
指向 CRYPT_ALGORITHM_IDENTIFIER 结构的指针,该结构包含 OID) 及其可选编码参数 (签名 对象标识符 。
[out, optional] ppvDecodedSignPara
指向已解码和分配的签名参数数据结构的地址的指针。 返回解码的缓冲区是可选的。
[out] ppwszCNGHashAlgid
指向分配的 Unicode 字符串地址的指针,该字符串表示从编码签名参数中提取的 CNG 哈希算法标识符。 如果此函数返回 TRUE,则必须返回非 NULL 指针。
返回值
如果函数成功,则函数) 返回非零 (TRUE 。
如果函数失败,它将返回零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
如果此回调函数不支持签名算法,则必须返回 FALSE 并使用 ERROR_NOT_SUPPORTED调用 SetLastError。
注解
必须使用 LocalAlloc 函数分配 ppvDecodedSignPara 和 ppwszCNGHashAlgid 参数的内存。
可以使用 OID 支持函数 部署此回调函数。 Wincrypt.h 为此定义以下常量。
一直 | 定义 |
---|---|
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC | “CryptDllExtractEncodedSignatureParameters” |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |