Função CryptGetMessageCertificates (wincrypt.h)
A função CryptGetMessageCertificates retorna o identificador de um repositório de certificados aberto que contém os certificados e CRLs da mensagem. Essa função chama CertOpenStore usando o tipo de provedor CERT_STORE_PROV_PKCS7 como seu parâmetro lpszStoreProvider .
Sintaxe
HCERTSTORE CryptGetMessageCertificates(
[in] DWORD dwMsgAndCertEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const BYTE *pbSignedBlob,
[in] DWORD cbSignedBlob
);
Parâmetros
[in] dwMsgAndCertEncodingType
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] hCryptProv
Esse parâmetro não é usado e deve ser definido como NULL.
Windows Server 2003 e Windows XP: Identificador do CSP passado para CertOpenStore. Para obter mais informações, consulte CertOpenStore. A menos que haja um motivo forte para passar um provedor criptográfico específico no hCryptProv, passe zero para fazer com que o provedor RSA ou DSS padrão seja adquirido.
O tipo de dados desse parâmetro é HCRYPTPROV.
[in] dwFlags
Sinalizadores passados para o CertOpenStore. Para obter mais informações, consulte CertOpenStore.
[in] pbSignedBlob
Um ponteiro para uma estrutura de CRYPT_INTEGER_BLOB em buffer que contém a mensagem assinada.
[in] cbSignedBlob
O tamanho, em bytes, da mensagem assinada.
Retornar valor
Retorna o repositório de certificados que contém os certificados e CRLs da mensagem. Para um erro, NULL é retornado.
O seguinte lista o código de erro mais comumente retornado pela função GetLastError .
Código de retorno | Descrição |
---|---|
|
Tipos inválidos de codificação de mensagens e certificados. Atualmente, há suporte apenas para PKCS_7_ASN_ENCODING e X509_ASN_ENCODING. |
Se a função falhar, GetLastError poderá retornar um erro de codificação/decodificação de ASN.1 (Abstract Syntax Notation One ). Para obter informações sobre esses erros, consulte Codificação/Decodificação de Valores Retornados do ASN.1.
Comentários
Use GetLastError para determinar o motivo de erros.
Exemplos
Para obter um exemplo que usa essa função, consulte Exemplo de Programa C: Configurando e obtendo propriedades do repositório de certificados.
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 |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |