estructura CRYPT_VERIFY_MESSAGE_PARA (wincrypt.h)

La estructura CRYPT_VERIFY_MESSAGE_PARA contiene información necesaria para comprobar los mensajes firmados.

Sintaxis

typedef struct _CRYPT_VERIFY_MESSAGE_PARA {
  DWORD                            cbSize;
  DWORD                            dwMsgAndCertEncodingType;
  HCRYPTPROV_LEGACY                hCryptProv;
  PFN_CRYPT_GET_SIGNER_CERTIFICATE pfnGetSignerCertificate;
  void                             *pvGetArg;
  PCCERT_STRONG_SIGN_PARA          pStrongSignPara;
} CRYPT_VERIFY_MESSAGE_PARA, *PCRYPT_VERIFY_MESSAGE_PARA;

Miembros

cbSize

Tamaño de esta estructura en bytes.

dwMsgAndCertEncodingType

Tipo de codificación usada. 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

Los tipos de codificación definidos actualmente son:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

hCryptProv

Este miembro no se usa y debe establecerse en NULL.

Windows Server 2003 y Windows XP: Identificador del proveedor de servicios criptográficos que se usará para comprobar un mensaje firmado. El CSP identificado por este identificador se usa para la aplicación hash y para la comprobación de firmas. A menos que haya un motivo seguro para usar un proveedor criptográfico específico, establezca en cero para usar el proveedor RSA o DSS predeterminado.

El tipo de datos de este miembro es HCRYPTPROV.

pfnGetSignerCertificate

Puntero a la función de devolución de llamada que se usa para obtener el contexto de certificado del firmante. Si es NULL, se usa la devolución de llamada predeterminada. La devolución de llamada predeterminada intenta obtener el contexto del certificado del firmante del almacén de certificados del mensaje.

Una función de devolución de llamada definida por la aplicación que obtiene el certificado del firmante se puede usar en lugar del valor predeterminado. Se pasa el identificador de certificado del firmante (su emisor y número de serie) y un identificador al almacén de certificados del mensaje firmado criptográfico.

Consulte CryptGetSignerCertificateCallback para obtener la firma y los argumentos de las funciones de devolución de llamada.

pvGetArg

Argumento que se va a pasar a la función de devolución de llamada. Normalmente, esto obtiene y comprueba el certificado del firmante del mensaje.

pStrongSignPara

Puntero opcional a una estructura de CERT_STRONG_SIGN_PARA que contiene parámetros usados para la firma segura. Si establece este miembro y la función comprueba correctamente la firma, la función comprobará si hay una firma segura. Si la firma no es segura, se producirá un error en la operación y se establecerá el valor GetLastErroren NTE_BAD_ALGID.

Nota Puede usar el miembro pStrongSignPara solo si CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS se define mediante la directiva #define antes de incluir Wincrypt.h. Si se define CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS , debe cero todos los campos sin usar.
 
Windows 8 y Windows Server 2012: comienza el soporte técnico para este miembro.

Comentarios

Esta estructura se pasa a las siguientes funciones:

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado wincrypt.h

Consulte también

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature