Compartilhar via


Função CryptGetMessageSignerCount (wincrypt.h)

A função CryptGetMessageSignerCount retorna o número de signatários de uma mensagem assinada.

Observação

Essa função pode retornar uma contagem de signatários duplicados e, portanto, pode não ser suficiente para evitar ataques. Recomendamos usar o campo sid (SignerIdentifier) de SignerInfo para identificar signatários duplicados em uma mensagem.

Sintaxe

LONG CryptGetMessageSignerCount(
  [in] DWORD      dwMsgEncodingType,
  [in] const BYTE *pbSignedBlob,
  [in] DWORD      cbSignedBlob
);

Parâmetros

[in] dwMsgEncodingType

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] pbSignedBlob

Um ponteiro para um buffer que contém a mensagem assinada.

[in] cbSignedBlob

O tamanho, em bytes, da mensagem assinada.

Retornar valor

Retorna o número de signatários de uma mensagem assinada, zero quando não há signatários e menos um (–1) para um erro.

Para obter informações de erro estendidas, chame GetLastError. O código de erro a seguir é retornado com mais frequência.

Código de retorno Descrição
E_INVALIDARG
Tipo de codificação de mensagem inválido. Atualmente, há suporte apenas para PKCS_7_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.

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

Confira também

CryptVerifyMessageSignature

Funções de mensagem simplificadas