Compartilhar via


PFN_CRYPT_GET_SIGNER_CERTIFICATE função de retorno de chamada (wincrypt.h)

A função de retorno de chamada fornecida pelo usuário CryptGetSignerCertificateCallback é usada com a estrutura CRYPT_VERIFY_MESSAGE_PARA para obter e verificar o certificado de um signatário de mensagem.

Sintaxe

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

Um ponteiro para dados definidos pelo usuário passados para a função de verificação, conforme especificado na estrutura CRYPT_VERIFY_MESSAGE_PARA .

[in] dwCertEncodingType

Especifica o tipo de codificação usado. É 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

[in] pSignerId

Um ponteiro para uma estrutura CERT_INFO que contém o emissor e o número de série. Pode ser NULL se não houver conteúdo ou signatário.

[in] hMsgCertStore

Um identificador para o repositório de certificados que contém todos os certificados e CRLs na mensagem assinada.

Retornar valor

Se um certificado de signatário for encontrado, a função retornará um ponteiro para um CERT_CONTEXT somente leitura. O CERT_CONTEXT retornado foi obtido de um repositório de certificados ou foi criado usando CertCreateCertificateContext. Em ambos os casos, ele deve ser liberado usando CertFreeCertificateContext. Se essa função falhar, o valor retornado será NULL.

Comentários

Se a mensagem não contiver conteúdo ou signatários, a função será chamada com pSignerId definido como NULL.

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]
Plataforma de Destino Windows
Cabeçalho wincrypt.h