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)
如果您想要只檢查哈希演算法是否為強式,此參數可以是 NULL

傳回值

如果函式成功,函式會傳回 TRUE

如果函式失敗,則會傳回 FALSE。 如需擴充錯誤資訊,請呼叫 GetLastError。 此函式具有下列錯誤碼。

傳回碼 Description
E_INVALIDARG
一或多個輸入自變數不正確。
NTE_BAD_ALGID
不支援指定的演算法。

規格需求

需求
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 wincrypt.h
程式庫 Crypt32.lib
Dll Crypt32.dll

另請參閱

CERT_STRONG_SIGN_PARA