API C/C++
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
PKCS#7

Descrição detalhada

Assinatura padrão PKCS#7.

Funções

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)
 

Funções

◆ 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>

Gera uma assinatura ou co-assinatura seguindo o padrão PKCS#7 (Cryptographic Message Syntax Standard).

Parâmetros
[in]hSessionContexto adquirido através da função DOpenSession().
[in]szKeyNameNome da chave dentro do HSM que será utilizada para fazer a assinatura.
[in]szKeyCertNome do certificado (correspondente a chave szKeyName) dentro do HSM que será utilizado na assinatura.
[in]szCertsNome da cadeia de certificados (PKCS#7) ou certificado X.509 da Autoridade Certificadora (correspondente a chave szKeyName) dentro do HSM que será utilizada na assinatura.
[in]dwAttribFlag contendo as opções de assinatura.
Valor Significado
TAC_MOD_CORE_P7_TEXT Incluir cabeçalho MIME de texto.
TAC_MOD_CORE_P7_NOCERTS Não incluir certificado de assinatura.
TAC_MOD_CORE_P7_DETACHED Gerar assinatura separada.
TAC_MOD_CORE_P7_BINARY Tratar arquivo como binário sem tradução de MIME type.
TAC_MOD_CORE_P7_NOATTR Não utilizar atributos de autenticação.
TAC_MOD_CORE_P7_NOSMIMECAP Omitir S/MIME Capabilities.
TAC_MOD_CORE_P7_COSIGN Gera uma co-assinatura. Este flag só deve usada se o conteúdo em pbContent for um pacote PKCS#7 assinado (formato DER), assim é acrescentada uma nova assinatura.
[in]pbContentBuffer contendo os dados que serão assinados. Seu tamanho deve ser especificado em dwContentLen.
[in]dwContentLenTamanho do buffer em bytes passado em pbContent.
[out]pdwSignatureLenPonteiro para o tamanho em bytes do buffer ppbSignature.
[out]ppbSignaturePonteiro para um ponteiro que receberá a assinatura PKCS#7 (formato DER). Este ponteiro deverá ser liberado após seu uso com DFree().
[in]dwParamReservado para uso futuro (deve ser 0).
Retorna
0 (ZERO) se a função for bem sucedida.
Consulte a seção Códigos de Retorno sobre outros valores.
Anotações
Para gerar uma mensagem PKCS#7 com co-assinatura, o chamador deve submeter em pbContent uma mensagem PKCS#7 assinada (em formato DER). Este processo deve ser repetido iterativamente tantas vezes quantas forem as co-assinaturas necessárias. Ao fazer uma co-assinatura a flag TAC_MOD_CORE_P7_NOATTR é automaticamente desabilitada.
O padrão adotado é o PKCS#7 v. 1.5.
Exemplos
pkcs7_sign.c.