PKCS#7
Assinatura padrão PKCS#7. Mais...
Funções | |
int AAP_API | DPKCS7Sign (HSESSIONCTX hSession, char *szKeyName, char *szKeyCert, char *szCerts, DWORD dwAttrib, BYTE *pbContent, DWORD dwContentLen, DWORD *pdwSignatureLen, BYTE **ppbSignature, DWORD dwParam) |
Descrição Detalhada
Assinatura padrão PKCS#7.
Funções
int AAP_API DPKCS7Sign | ( | HSESSIONCTX | hSession, |
char * | szKeyName, | ||
char * | szKeyCert, | ||
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] hSession Contexto adquirido através da função DOpenSession(). [in] szKeyName Nome da chave dentro do HSM que será utilizada para fazer a assinatura. [in] szKeyCert Nome do certificado (correspondente a chave szKeyName) dentro do HSM que será utilizado na assinatura. [in] szCerts Nome 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] dwAttrib Flag 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] pbContent Buffer contendo os dados que serão assinados. Seu tamanho deve ser especificado em dwContentLen. [in] dwContentLen Tamanho do buffer em bytes passado em pbContent. [out] pdwSignatureLen Ponteiro para o tamanho em bytes do buffer ppbSignature. [out] ppbSignature Ponteiro para um ponteiro que receberá a assinatura PKCS#7 (formato DER). Este ponteiro deverá ser liberado após seu uso com DFree(). [in] dwParam Reservado 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:
- pkcs7sign.c.