CertIsStrongHashToSign 函数 (wincrypt.h)
确定是否可以使用签名证书中的指定哈希算法和公钥来执行强签名。
语法
BOOL CertIsStrongHashToSign(
[in] PCCERT_STRONG_SIGN_PARA pStrongSignPara,
[in] LPCWSTR pwszCNGHashAlgid,
[in, optional] PCCERT_CONTEXT pSigningCert
);
参数
[in] pStrongSignPara
指向 CERT_STRONG_SIGN_PARA 结构的指针,该结构包含有关支持的签名和哈希算法的信息。
[in] pwszCNGHashAlgid
指向包含哈希算法名称的 Unicode 字符串的指针。 支持以下算法:
- L“MD5” (BCRYPT_MD5_ALGORITHM)
- L“SHA1” (BCRYPT_SHA1_ALGORITHM)
- L“SHA256” (BCRYPT_SHA256_ALGORITHM)
- L“SHA256” (BCRYPT_SHA256_ALGORITHM)
- L“SHA512” (BCRYPT_SHA512_ALGORITHM)
[in, optional] pSigningCert
指向包含签名证书 的CERT_CONTEXT 结构的指针。 检查签名证书中的公钥算法的强度。 公钥 (非对称) 算法用于签名。 支持以下签名算法:
- L“RSA” (BCRYPT_RSA_ALGORITHM)
- L“DSA” (BCRYPT_DSA_ALGORITHM)
- L“ECDSA” (SSL_ECDSA_ALGORITHM)
返回值
如果该函数成功,则函数返回 TRUE。
如果函数失败,则返回 FALSE。 有关扩展的错误信息,请调用 GetLastError。 此函数具有以下错误代码。
返回代码 | 说明 |
---|---|
|
一个或多个输入参数不正确。 |
|
不支持指定的算法。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Crypt32.lib |
DLL | Crypt32.dll |