Compartir a través de


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

La función de devolución de llamada proporcionada por el usuario CryptGetSignerCertificateCallback se usa con la estructura de CRYPT_VERIFY_MESSAGE_PARA para obtener y comprobar el certificado de un firmante de mensajes.

Sintaxis

PFN_CRYPT_GET_SIGNER_CERTIFICATE PfnCryptGetSignerCertificate;

PCCERT_CONTEXT PfnCryptGetSignerCertificate(
  [in] void *pvGetArg,
  [in] DWORD dwCertEncodingType,
  [in] PCERT_INFO pSignerId,
  [in] HCERTSTORE hMsgCertStore
)
{...}

Parámetros

[in] pvGetArg

Puntero a los datos definidos por el usuario que se pasan a la función de comprobación tal como se especifica en la estructura de CRYPT_VERIFY_MESSAGE_PARA .

[in] dwCertEncodingType

Especifica el tipo de codificación usada. Siempre es aceptable especificar los tipos de codificación de certificados y mensajes al combinarlos 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] pSignerId

Puntero a una estructura de CERT_INFO que contiene el emisor y el número de serie. Puede ser NULL si no hay contenido o firmante.

[in] hMsgCertStore

Identificador del almacén de certificados que contiene todos los certificados y CRL del mensaje firmado.

Valor devuelto

Si se encuentra un certificado de firmante, la función devuelve un puntero a un CERT_CONTEXT de solo lectura. El CERT_CONTEXT devuelto se obtuvo de un almacén de certificados o se creó mediante CertCreateCertificateContext. En cualquier caso, se debe liberar mediante CertFreeCertificateContext. Si se produce un error en esta función, el valor devuelto es NULL.

Comentarios

Si el mensaje no contiene contenido o firmantes, se llama a la función con pSignerId establecido en NULL.

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