Partager via


Fonction CertIsStrongHashToSign (wincrypt.h)

Détermine si l’algorithme de hachage spécifié et la clé publique dans le certificat de signature peuvent être utilisés pour effectuer une signature forte.

Syntaxe

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

Paramètres

[in] pStrongSignPara

Pointeur vers une structure CERT_STRONG_SIGN_PARA qui contient des informations sur les algorithmes de signature et de hachage pris en charge.

[in] pwszCNGHashAlgid

Pointeur vers une chaîne Unicode qui contient le nom de l’algorithme de hachage. Les algorithmes suivants sont pris en charge :

  • 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

Pointeur vers une structure CERT_CONTEXT qui contient le certificat de signature. La force de l’algorithme de clé publique dans le certificat de signature est vérifiée. L’algorithme de clé publique (asymétrique) est utilisé pour la signature. Les algorithmes de signature suivants sont pris en charge :

  • L"RSA » (BCRYPT_RSA_ALGORITHM)
  • L"DSA » (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA » (SSL_ECDSA_ALGORITHM)
Ce paramètre peut avoir la valeur NULL si vous souhaitez case activée uniquement si l’algorithme de hachage est fort.

Valeur retournée

Si la fonction réussit, la fonction retourne TRUE.

Si la fonction échoue, elle retourne FALSE. Pour obtenir des informations d’erreur étendues, appelez GetLastError. Cette fonction possède les codes d’erreur suivants.

Code de retour Description
E_INVALIDARG
Un ou plusieurs des arguments d’entrée ne sont pas corrects.
NTE_BAD_ALGID
Un algorithme spécifié n’est pas pris en charge.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 [applications de bureau uniquement]
Plateforme cible Windows
En-tête wincrypt.h
Bibliothèque Crypt32.lib
DLL Crypt32.dll

Voir aussi

CERT_STRONG_SIGN_PARA