Condividi tramite


Funzione CertIsStrongHashToSign (wincrypt.h)

Determina se è possibile usare l'algoritmo hash specificato e la chiave pubblica nel certificato di firma per eseguire la firma avanzata.

Sintassi

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

Parametri

[in] pStrongSignPara

Puntatore a una struttura CERT_STRONG_SIGN_PARA che contiene informazioni sugli algoritmi di firma e hash supportati.

[in] pwszCNGHashAlgid

Puntatore a una stringa Unicode contenente il nome dell'algoritmo hash. Sono supportati gli algoritmi seguenti:

  • 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

Puntatore a una struttura CERT_CONTEXT che contiene il certificato di firma. L'algoritmo di chiave pubblica nel certificato di firma viene controllato per la validità. L'algoritmo di chiave pubblica (asimmetrica) viene usato per la firma. Sono supportati gli algoritmi di firma seguenti:

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)
Questo parametro può essere NULL se si vuole controllare solo se l'algoritmo hash è sicuro.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce TRUE.

Se la funzione ha esito negativo, restituisce FALSE. Per informazioni sugli errori estesi, chiamare GetLastError. Questa funzione presenta i codici di errore seguenti.

Codice restituito Descrizione
E_INVALIDARG
Uno o più argomenti di input non sono corretti.
NTE_BAD_ALGID
Un algoritmo specificato non è supportato.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [solo app desktop]
Server minimo supportato Windows Server 2012 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione wincrypt.h
Libreria Crypt32.lib
DLL Crypt32.dll

Vedi anche

CERT_STRONG_SIGN_PARA