estrutura CRYPT_VERIFY_MESSAGE_PARA (wincrypt.h)

A estrutura CRYPT_VERIFY_MESSAGE_PARA contém informações necessárias para verificar as mensagens assinadas.

Sintaxe

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;

Membros

cbSize

Tamanho dessa estrutura em bytes.

dwMsgAndCertEncodingType

Tipo de codificação usada. É sempre aceitável especificar os tipos de codificação de certificado e mensagem combinando-os com uma operação OR bit a bit, conforme mostrado no exemplo a seguir:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Os tipos de codificação definidos no momento são:

  • X509_ASN_ENCODING
  • PKCS_7_ASN_ENCODING

hCryptProv

Esse membro não é usado e deve ser definido como NULL.

Windows Server 2003 e Windows XP: Um identificador para o provedor de serviços criptográficos a ser usado para verificar uma mensagem assinada. O CSP identificado por esse identificador é usado para hash e para verificação de assinatura. A menos que haja um motivo forte para usar um provedor criptográfico específico, defina como zero para usar o provedor padrão de RSA ou DSS.

O tipo de dados desse membro é HCRYPTPROV.

pfnGetSignerCertificate

Um ponteiro para a função de retorno de chamada usada para obter o contexto de certificado do signatário. Se FOR NULL, o retorno de chamada padrão será usado. O retorno de chamada padrão tenta obter o contexto de certificado do signatário do repositório de certificados da mensagem.

Uma função de retorno de chamada definida pelo aplicativo que obtém o certificado do signatário pode ser usada no lugar do padrão. Ele é passado para o identificador de certificado do signatário (seu emissor e número de série) e um identificador para o repositório de certificados da mensagem assinada criptográfica.

Consulte CryptGetSignerCertificateCallback para obter a assinatura e os argumentos das funções de retorno de chamada.

pvGetArg

Argumento a ser passado para a função de retorno de chamada. Normalmente, isso obtém e verifica o certificado do signatário da mensagem.

pStrongSignPara

Ponteiro opcional para uma estrutura CERT_STRONG_SIGN_PARA que contém parâmetros usados para assinatura forte. Se você definir esse membro e a função verificar com êxito a assinatura, a função marcar para uma assinatura forte. Se a assinatura não for forte, a operação falhará e definirá o valor GetLastErrorcomo NTE_BAD_ALGID.

Nota Você só poderá usar o membro pStrongSignPara se CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS for definido usando a diretiva #define antes de incluir Wincrypt.h. Se CRYPT_VERIFY_MESSAGE_PARA_HAS_EXTRA_FIELDS for definido, você deverá zero todos os campos não utilizados.
 
Windows 8 e Windows Server 2012: o suporte para este membro começa.

Comentários

Essa estrutura é passada para as seguintes funções:

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho wincrypt.h

Confira também

CERT_CONTEXT

CERT_INFO

CryptDecryptAndVerifyMessageSignature

CryptVerifyDetachedMessageSignature

CryptVerifyMessageSignature