Función CryptMsgCountersignEncoded (wincrypt.h)

La función CryptMsgCountersignEncoded contrasigna una firma de mensaje PKCS #7 existente. El búfer byTE pbCountersignature que crea es un signerInfo codificado PKCS #7 que se puede usar como atributo countersignature no autenticado de un mensaje de datos firmados de PKCS #9 o de datos con signo y sobre.

Sintaxis

BOOL CryptMsgCountersignEncoded(
  [in]      DWORD                    dwEncodingType,
  [in]      PBYTE                    pbSignerInfo,
  [in]      DWORD                    cbSignerInfo,
  [in]      DWORD                    cCountersigners,
  [in]      PCMSG_SIGNER_ENCODE_INFO rgCountersigners,
  [out]     PBYTE                    pbCountersignature,
  [in, out] PDWORD                   pcbCountersignature
);

Parámetros

[in] dwEncodingType

Especifica el tipo de codificación utilizado. Actualmente, solo se usan X509_ASN_ENCODING y PKCS_7_ASN_ENCODING; sin embargo, en el futuro se pueden agregar tipos de codificación adicionales. Para cualquier tipo de codificación actual, use:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING.

[in] pbSignerInfo

Puntero al SignerInfo codificado que se va a contrasignar.

[in] cbSignerInfo

Recuento, en bytes, de los datos signerInfo codificados.

[in] cCountersigners

Número de contadores en la matriz rgCountersigners .

[in] rgCountersigners

Matriz de estructuras de CMSG_SIGNER_ENCODE_INFO de los contrasignadores.

[out] pbCountersignature

Puntero a un búfer para recibir un atributo de contrafirma PKCS #9 codificado.

En la entrada, este parámetro puede ser NULL para establecer el tamaño de esta información con fines de asignación de memoria. Para obtener más información, vea Recuperación de datos de longitud desconocida.

[in, out] pcbCountersignature

Puntero a una variable que especifica el tamaño, en bytes, del búfer al que apunta el parámetro pbCountersignature . Cuando se devuelve la función, la variable a la que apunta el parámetro pcbCountersignature contiene el número de bytes almacenados en el búfer.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es distinto de cero (TRUE).

Si se produce un error en la función, el valor devuelto es cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

En la tabla siguiente se enumeran los códigos de error devueltos normalmente por la función GetLastError .

Código devuelto Descripción
CRYPT_E_OID_FORMAT
El identificador de objeto tiene un formato incorrecto.
E_INVALIDARG
Uno o varios argumentos no son válidos.
E_OUTOFMEMORY
Se quedó sin memoria.
 

Los errores propagados pueden devolverse de una de las funciones siguientes:

Si se produce un error en la función, GetLastError puede devolver un error de codificación y descodificación de sintaxis abstracta uno (ASN.1). Para obtener información sobre estos errores, vea Valores devueltos de codificación y descodificación de ASN.1.

Requisitos

   
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

CryptMsgCountersign

CryptMsgVerifyCountersignatureEncoded

Funciones de mensaje de bajo nivel

Funciones de mensaje simplificadas