API C/C++
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
PKCS#7

Descripción detallada

Firma estándar PKCS#7.

Funciones

int AAP_API DPKCS7Sign(HSESSIONCTX hSession, const char *szKeyName, const char *szKeyCert, const char *szCerts, DWORD dwAttrib, BYTE *pbContent, DWORD dwContentLen, DWORD *pdwSignatureLen, BYTE **ppbSignature, DWORD dwParam)
 

Funciones

DPKCS7Sign()

int AAP_API DPKCS7Sign ( HSESSIONCTX hSession,
const char * szKeyName,
const char * szKeyCert,
const char * szCerts,
DWORD dwAttrib,
BYTE * pbContent,
DWORD dwContentLen,
DWORD * pdwSignatureLen,
BYTE ** ppbSignature,
DWORD dwParam )

#include <dinamo.h>

Genera una firma o cofirma siguiendo el estándar PKCS#7 (Cryptographic Message Syntax Standard).

Parámetros
[in]hSessionContexto adquirido a través de la función DOpenSession().
[in]szKeyNameNombre de la clave dentro del HSM que se utilizará para realizar la firma.
[in]szKeyCertNombre del certificado (correspondiente a la clave szKeyName) dentro del HSM que se utilizará en la firma.
[in]szCertsNombre de la cadena de certificados (PKCS#7) o certificado X.509 de la autoridad de certificación (correspondiente a la clave szKeyName) dentro del HSM que se utilizará en la firma.
[in]dwAttribBandera que contiene las opciones de suscripción.
Valor Significado
TAC_MOD_CORE_P7_TEXT Incluir una cabecera MIME de texto.
TAC_MOD_CORE_P7_NOCERTS No incluya un certificado de firma.
TAC_MOD_CORE_P7_DETACHED Generar una firma independiente.
TAC_MOD_CORE_P7_BINARY Tratar archivo como binario sin traducción de tipo MIME.
TAC_MOD_CORE_P7_NOATTR No utilice atributos de autenticación.
TAC_MOD_CORE_P7_NOSMIMECAP Omitir capacidades S/MIME.
TAC_MOD_CORE_P7_COSIGN Genera una cofirma. Esta bandera sólo debe utilizarse si el contenido en pbContent es un paquete PKCS#7 firmado (formato DER), por lo que se añade una nueva firma.
[in]pbContentBuffer que contiene los datos a firmar. Su tamaño debe especificarse en dwContentLen.
[in]dwContentLenTamaño del búfer en bytes pasado en pbContent.
[out]pdwSignatureLenPuntero al tamaño en bytes del búfer ppbSignature.
[out]ppbSignaturePuntero a un puntero que recibirá la firma PKCS#7 (formato DER). Este puntero debe liberarse tras su uso con DFree().
[in]dwParamReservado para uso futuro (debe ser 0).
Devolución
0 (CERO) si la función tiene éxito.
Consulte la sección Códigos de retorno para conocer otros valores.
Notas
Para generar un mensaje PKCS#7 con cofirma, el emisor de la llamada debe enviar un mensaje PKCS#7 firmado (en formato DER) en pbContent. Este proceso debe repetirse iterativamente tantas veces como cofirmas se requieran. Al cofirmar, el indicador TAC_MOD_CORE_P7_NOATTR se desactiva automáticamente.
La norma adoptada es PKCS#7 v. 1.5.
Ejemplos
pkcs7_sign.c.