Función CertIsStrongHashToSign (wincrypt.h)

Determina si el algoritmo hash especificado y la clave pública del certificado de firma se pueden usar para realizar una firma segura.

Sintaxis

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

Parámetros

[in] pStrongSignPara

Puntero a una estructura de CERT_STRONG_SIGN_PARA que contiene información sobre los algoritmos de firma y hash admitidos.

[in] pwszCNGHashAlgid

Puntero a una cadena Unicode que contiene el nombre del algoritmo hash. Se admiten los siguientes algoritmos:

  • 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

Puntero a una estructura de CERT_CONTEXT que contiene el certificado de firma. El algoritmo de clave pública del certificado de firma se comprueba si hay intensidad. El algoritmo de clave pública (asimétrica) se usa para firmar. Se admiten los siguientes algoritmos de firma:

  • L"RSA" (BCRYPT_RSA_ALGORITHM)
  • L"DSA" (BCRYPT_DSA_ALGORITHM)
  • L"ECDSA" (SSL_ECDSA_ALGORITHM)
Este parámetro puede ser NULL si desea comprobar solo si el algoritmo hash es seguro.

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Para obtener información de error extendida, llame a GetLastError. Esta función tiene los siguientes códigos de error.

Código devuelto Descripción
E_INVALIDARG
Uno o varios de los argumentos de entrada no son correctos.
NTE_BAD_ALGID
No se admite un algoritmo especificado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CERT_STRONG_SIGN_PARA