libcryptosec
|
#include <Pkcs7SignedDataBuilder.h>
Public Member Functions | |
Pkcs7SignedDataBuilder (MessageDigest::Algorithm mesDigAlgorithm, Certificate &cert, PrivateKey &privKey, bool attached) throw (Pkcs7Exception) | |
virtual | ~Pkcs7SignedDataBuilder () |
void | init (MessageDigest::Algorithm mesDigAlgorithm, Certificate &cert, PrivateKey &privKey, bool attached) throw (Pkcs7Exception) |
void | addSigner (MessageDigest::Algorithm mesDigAlgorithm, Certificate &cert, PrivateKey &privKey) throw (Pkcs7Exception, InvalidStateException) |
void | addCertificate (Certificate &cert) throw (Pkcs7Exception, InvalidStateException) |
void | addCrl (CertificateRevocationList &crl) throw (Pkcs7Exception, InvalidStateException) |
Pkcs7SignedData * | doFinal () throw (InvalidStateException, Pkcs7Exception) |
Pkcs7SignedData * | doFinal (std::string &data) throw (InvalidStateException, Pkcs7Exception) |
Pkcs7SignedData * | doFinal (ByteArray &data) throw (InvalidStateException, Pkcs7Exception) |
![]() | |
Pkcs7Builder () | |
~Pkcs7Builder () | |
void | update (std::string &data) throw (InvalidStateException, Pkcs7Exception) |
void | update (ByteArray &data) throw (InvalidStateException, Pkcs7Exception) |
void | doFinal (std::istream *in, std::ostream *out) throw (InvalidStateException, Pkcs7Exception, EncodeException) |
Additional Inherited Members | |
![]() | |
enum | State { NO_INIT, INIT, UPDATE } |
![]() | |
Pkcs7Builder::State | state |
PKCS7 * | pkcs7 |
BIO * | p7bio |
Implementa o padrão builder para criação de um pacote PKCS7 assinado digitalmente.
Pkcs7SignedDataBuilder::Pkcs7SignedDataBuilder | ( | MessageDigest::Algorithm | mesDigAlgorithm, |
Certificate & | cert, | ||
PrivateKey & | privKey, | ||
bool | attached | ||
) | |||
throw | ( | Pkcs7Exception | |
) |
Construtor recebendo os parâmetros necessários à assinatura dos dados a serem adicionados ao pacote. O método Pkcs7SignedDataBuilder::init() é invocado nesse construtor.
mesDigAlgorithm | o algoritmo de hash que será usado na assinatura do pacote. |
cert | referência para o certificado que será usado para assinar o conteúdo do PKCS7 e irá compor o pacote. |
privKey | chave privada que será usada na assinatura do pacote. |
attached | se true, o conteúdo do pacote estará contido no mesmo, caso contrário apenas a assinatura do conteúdo estará presente. |
Pkcs7Exception | caso ocorra algum problema na geração do pacote PKCS7. |
|
virtual |
Destrutor padrão.
void Pkcs7SignedDataBuilder::addCertificate | ( | Certificate & | cert | ) | |
throw | ( | Pkcs7Exception, | |||
InvalidStateException | |||||
) |
Permite adicionar certificados adicionais
cert | referência para certificado que será adicionado |
InvalidStateException | no caso do builder não ter sido inicializado ainda. |
Pkcs7Exception | caso tenha ocorrido um erro ao adicionar o certificado ao pacote PKCS7. |
void Pkcs7SignedDataBuilder::addCrl | ( | CertificateRevocationList & | crl | ) | |
throw | ( | Pkcs7Exception, | |||
InvalidStateException | |||||
) |
Permite adicionar lista de certificados revogados
crl | referência para a CRL que será adicionada |
InvalidStateException | no caso do builder não ter sido inicializado ainda. |
Pkcs7Exception | caso tenha ocorrido um erro ao adicionar o certificado ao pacote PKCS7. |
void Pkcs7SignedDataBuilder::addSigner | ( | MessageDigest::Algorithm | mesDigAlgorithm, |
Certificate & | cert, | ||
PrivateKey & | privKey | ||
) | |||
throw | ( | Pkcs7Exception, | |
InvalidStateException | |||
) |
Permite a co-assinatura do pacote por mais de uma chave privada.
mesDigAlgorithm | o algoritmo de hash que será usado na assinatura do pacote. |
cert | referência para o novo certificado que será adicionado como assinador do pacote. |
privKey | chave privada que será usada na co-assinatura do pacote. |
InvalidStateException | no caso do builder não ter sido inicializado ainda. |
Pkcs7Exception | caso tenha ocorrido um erro ao adicionar o certificado ao pacote PKCS7. |
Pkcs7SignedData * Pkcs7SignedDataBuilder::doFinal | ( | ) | ||
throw | ( | InvalidStateException, | ||
Pkcs7Exception | ||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote assinado.
InvalidStateException | caso o builder não esteja no estado apropriado no momento da invocação. |
Pkcs7Exception | caso tenha ocorrido um erro na geração do pacote PKCS7. |
Pkcs7SignedData * Pkcs7SignedDataBuilder::doFinal | ( | std::string & | data | ) | |
throw | ( | InvalidStateException, | |||
Pkcs7Exception | |||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote assinado.
data | contendo dados a serem concatenados ao conteudo do pacote antes da sua criação definitiva. |
InvalidStateException | caso o builder não esteja no estado apropriado no momento da invocação. |
Pkcs7Exception | caso tenha ocorrido um erro na geração do pacote PKCS7. |
Pkcs7SignedData * Pkcs7SignedDataBuilder::doFinal | ( | ByteArray & | data | ) | |
throw | ( | InvalidStateException, | |||
Pkcs7Exception | |||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote assinado.
data | contendo dados a serem concatenados ao conteudo do pacote antes da sua criação definitiva. |
InvalidStateException | caso o builder não esteja no estado apropriado no momento da invocação. |
Pkcs7Exception | caso tenha ocorrido um erro na geração do pacote PKCS7. |
void Pkcs7SignedDataBuilder::init | ( | MessageDigest::Algorithm | mesDigAlgorithm, |
Certificate & | cert, | ||
PrivateKey & | privKey, | ||
bool | attached | ||
) | |||
throw | ( | Pkcs7Exception | |
) |
Método responsável pela inicialização do builder. Após sua invocação, o builder estará pronto para receber os dados a serem empacotados. Pode ser usado também para reinicializar o mesmo com a mudança de um ou mais parâmetros.
mesDigAlgorithm | o algoritmo de hash que será usado na assinatura do pacote. |
cert | referência para o certificado que será usado para assinar o conteúdo do PKCS7 e irá compor o pacote. |
privKey | chave privada que será usada na assinatura do pacote. |
attached | se true, o conteúdo do pacote estará contido no mesmo, caso contrário apenas a assinatura do conteúdo estará presente. |
Pkcs7Exception | caso ocorra algum problema na criação do pacote PKCS7. |