Freigeben über


CertIsStrongHashToSign-Funktion (wincrypt.h)

Bestimmt, ob der angegebene Hashalgorithmus und der öffentliche Schlüssel im Signaturzertifikat verwendet werden können, um eine starke Signatur durchzuführen.

Syntax

BOOL CertIsStrongHashToSign(
  [in]           PCCERT_STRONG_SIGN_PARA pStrongSignPara,
  [in]           LPCWSTR                 pwszCNGHashAlgid,
  [in, optional] PCCERT_CONTEXT          pSigningCert
);

Parameter

[in] pStrongSignPara

Zeiger auf eine CERT_STRONG_SIGN_PARA Struktur, die Informationen zu unterstützten Signatur- und Hashingalgorithmen enthält.

[in] pwszCNGHashAlgid

Zeiger auf eine Unicode-Zeichenfolge, die den Namen des Hashingalgorithmus enthält. Die folgenden Algorithmen werden unterstützt:

  • 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

Zeiger auf eine CERT_CONTEXT-Struktur , die das Signaturzertifikat enthält. Der Public Key-Algorithmus im Signaturzertifikat wird auf Seine Stärke überprüft. Der Algorithmus für öffentliche Schlüssel (asymmetrisch) wird zum Signieren verwendet. Die folgenden Signaturalgorithmen werden unterstützt:

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)
Dieser Parameter kann NULL sein, wenn Sie nur überprüfen möchten, ob der Hashingalgorithmus stark ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TRUE zurück.

Wenn die Funktion fehlschlägt, wird FALSE zurückgegeben. Rufen Sie GetLastError auf, um erweiterte Fehlerinformationen zu erhalten. Diese Funktion weist die folgenden Fehlercodes auf.

Rückgabecode Beschreibung
E_INVALIDARG
Mindestens eines der Eingabeargumente ist nicht korrekt.
NTE_BAD_ALGID
Ein angegebener Algorithmus wird nicht unterstützt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wincrypt.h
Bibliothek Crypt32.lib
DLL Crypt32.dll

Weitere Informationen

CERT_STRONG_SIGN_PARA