PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC función de devolución de llamada (wincrypt.h)

Si una firma contiene parámetros codificados, se llama a la PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC función de devolución de llamada para descodificar y devolver el identificador del algoritmo hash y, opcionalmente, los parámetros de firma.

Sintaxis

PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC PfnCryptExtractEncodedSignatureParametersFunc;

BOOL PfnCryptExtractEncodedSignatureParametersFunc(
  [in]            DWORD dwCertEncodingType,
  [in]            PCRYPT_ALGORITHM_IDENTIFIER pSignatureAlgorithm,
  [out, optional] void **ppvDecodedSignPara,
  [out]           LPWSTR *ppwszCNGHashAlgid
)
{...}

Parámetros

[in] dwCertEncodingType

Especifica el tipo de codificación utilizada. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes mediante su combinación con una operación OR bit a bit, como se muestra en el ejemplo siguiente:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING tipos de codificación definidos actualmente son:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

[in] pSignatureAlgorithm

Puntero a una estructura de CRYPT_ALGORITHM_IDENTIFIER que contiene el identificador de objeto de firma (OID) y sus parámetros codificados opcionales.

[out, optional] ppvDecodedSignPara

Puntero a una dirección para la estructura de datos de parámetros de firma descodificados y asignados. Devolver el búfer descodificado es opcional.

[out] ppwszCNGHashAlgid

Puntero a una dirección para la cadena Unicode asignada que representa el identificador del algoritmo hash CNG extraído de los parámetros de firma codificados. Si esta función devuelve TRUE, se debe devolver un puntero distinto de NULL .

Valor devuelto

Si la función se ejecuta correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Si esta función de devolución de llamada no admite el algoritmo de firma, debe devolver FALSE y llamar a SetLastError con ERROR_NOT_SUPPORTED.

Comentarios

La memoria de los parámetros ppvDecodedSignPara y ppwszCNGHashAlgid se deben asignar mediante la función LocalAlloc .

Puede usar funciones de compatibilidad de OID para implementar esta función de devolución de llamada. Wincrypt.h define la siguiente constante para este propósito.

Constante Definición
CRYPT_OID_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC "CryptDllExtractEncodedSignatureParameters"

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h