Función CryptGetMessageCertificates (wincrypt.h)

La función CryptGetMessageCertificates devuelve el identificador de un almacén de certificados abierto que contiene los certificados y las CRL del mensaje. Esta función llama a CertOpenStore mediante el tipo de proveedor CERT_STORE_PROV_PKCS7 como su parámetro lpszStoreProvider .

Sintaxis

HCERTSTORE CryptGetMessageCertificates(
  [in] DWORD             dwMsgAndCertEncodingType,
  [in] HCRYPTPROV_LEGACY hCryptProv,
  [in] DWORD             dwFlags,
  [in] const BYTE        *pbSignedBlob,
  [in] DWORD             cbSignedBlob
);

Parámetros

[in] dwMsgAndCertEncodingType

Especifica el tipo de codificación utilizado. 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

[in] hCryptProv

Este parámetro no se usa y debe establecerse en NULL.

Windows Server 2003 y Windows XP: Identificador del CSP pasado a CertOpenStore. Para obtener más información, consulte CertOpenStore. A menos que haya un motivo seguro para pasar un proveedor criptográfico específico en hCryptProv, pase cero para hacer que se adquiera el proveedor RSA o DSS predeterminado.

El tipo de datos de este parámetro es HCRYPTPROV.

[in] dwFlags

Marcas pasadas a CertOpenStore. Para obtener más información, consulte CertOpenStore.

[in] pbSignedBlob

Puntero a una estructura de CRYPT_INTEGER_BLOB almacenada en búfer que contiene el mensaje firmado.

[in] cbSignedBlob

Tamaño, en bytes, del mensaje firmado.

Valor devuelto

Devuelve el almacén de certificados que contiene los certificados y las CRL del mensaje. Para un error, se devuelve NULL .

A continuación se muestra el código de error devuelto normalmente por la función GetLastError .

Código devuelto Descripción
E_INVALIDARG
Tipos de codificación de mensajes y certificados no válidos. Actualmente solo se admiten PKCS_7_ASN_ENCODING y X509_ASN_ENCODING.
 

Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación y descodificación de ASN.1.

Comentarios

Use GetLastError para determinar el motivo de los errores.

Ejemplos

Para obtener un ejemplo que usa esta función, vea Programa C de ejemplo: Establecer y obtener propiedades del almacén de certificados.

Requisitos

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

Consulte también

CryptVerifyMessageSignature

Funciones de mensaje simplificadas