estrutura CRYPT_KEY_SIGN_MESSAGE_PARA (wincrypt.h)

A estrutura CRYPT_KEY_SIGN_MESSAGE_PARA contém informações sobre o CSP ( provedor de serviços criptográficos ) e algoritmos usados para assinar uma mensagem.

Sintaxe

typedef struct _CRYPT_KEY_SIGN_MESSAGE_PARA {
  DWORD                      cbSize;
  DWORD                      dwMsgAndCertEncodingType;
  union {
    HCRYPTPROV        hCryptProv;
    NCRYPT_KEY_HANDLE hNCryptKey;
  } DUMMYUNIONNAME;
  DWORD                      dwKeySpec;
  CRYPT_ALGORITHM_IDENTIFIER HashAlgorithm;
  void                       *pvHashAuxInfo;
  CRYPT_ALGORITHM_IDENTIFIER PubKeyAlgorithm;
} CRYPT_KEY_SIGN_MESSAGE_PARA, *PCRYPT_KEY_SIGN_MESSAGE_PARA;

Membros

cbSize

O tamanho, em bytes, dessa estrutura de dados.

dwMsgAndCertEncodingType

Especifica o tipo de codificação de mensagem e certificado usado. Isso pode ser uma combinação de um ou mais dos valores a seguir.

Valor Significado
X509_ASN_ENCODING
Especifica a codificação de certificado X.509 .
PKCS_7_ASN_ENCODING
Especifica a codificação de mensagens PKCS 7.

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

O identificador do CSP a ser usado para assinar a mensagem. A função CryptAcquireContext é chamada para obter esse identificador.

DUMMYUNIONNAME.hNCryptKey

O identificador do CSP da API de Criptografia: CNG (Próxima Geração) a ser usado para assinar a mensagem. Os algoritmos de assinatura CNG só têm suporte em funções CNG.

dwKeySpec

Identifica o tipo de chave privada a ser usada para assinar a mensagem. Esse deve ser um dos valores a seguir. Esse membro será ignorado se uma chave CNG for passada no membro hNCryptKey .

Valor Significado
AT_KEYEXCHANGE
Use a chave de troca de chaves.
AT_SIGNATURE
Use a chave de assinatura digital.

HashAlgorithm

Uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo a ser usado para gerar o hash da mensagem. Isso deve ser um algoritmo de hash.

pvHashAuxInfo

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

PubKeyAlgorithm

Uma estrutura CRYPT_ALGORITHM_IDENTIFIER que especifica o algoritmo a ser usado para assinar a mensagem. Isso deve ser uma chave pública ou um algoritmo de assinatura.

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