Compartir a través de


estructura CRYPT_KEY_SIGN_MESSAGE_PARA (wincrypt.h)

La estructura CRYPT_KEY_SIGN_MESSAGE_PARA contiene información sobre el proveedor de servicios criptográficos (CSP) y los algoritmos usados para firmar un mensaje.

Sintaxis

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;

Miembros

cbSize

Tamaño, en bytes, de esta estructura de datos.

dwMsgAndCertEncodingType

Especifica el tipo de codificación de mensaje y certificado usada. Puede ser una combinación de uno o varios de los valores siguientes.

Valor Significado
X509_ASN_ENCODING
Especifica la codificación de certificados X.509 .
PKCS_7_ASN_ENCODING
Especifica la codificación de mensajes PKCS 7.

DUMMYUNIONNAME

DUMMYUNIONNAME.hCryptProv

Identificador del CSP que se va a usar para firmar el mensaje. Se llama a la función CryptAcquireContext para obtener este identificador.

DUMMYUNIONNAME.hNCryptKey

Identificador del CSP de Cryptography API: Next Generation (CNG) que se va a usar para firmar el mensaje. Los algoritmos de firma CNG solo se admiten en las funciones de CNG.

dwKeySpec

Identifica el tipo de clave privada que se va a usar para firmar el mensaje. Debe ser uno de los valores siguientes. Este miembro se omite si se pasa una clave CNG en el miembro hNCryptKey .

Valor Significado
AT_KEYEXCHANGE
Use la clave de intercambio de claves.
AT_SIGNATURE
Use la clave de firma digital.

HashAlgorithm

Estructura CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo que se va a usar para generar el hash del mensaje. Debe ser un algoritmo hash.

pvHashAuxInfo

Este miembro no se usa y debe establecerse en NULL.

PubKeyAlgorithm

Estructura CRYPT_ALGORITHM_IDENTIFIER que especifica el algoritmo que se va a usar para firmar el mensaje. Debe ser una clave pública o un algoritmo de firma.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado wincrypt.h