libcryptosec
|
#include <Pkcs7EnvelopedDataBuilder.h>
Public Member Functions | |
Pkcs7EnvelopedDataBuilder (Certificate &cert, SymmetricKey::Algorithm symAlgorithm, SymmetricCipher::OperationMode symOperationMode) throw (Pkcs7Exception, SymmetricCipherException) | |
virtual | ~Pkcs7EnvelopedDataBuilder () |
void | init (Certificate &cert, SymmetricKey::Algorithm symAlgorithm, SymmetricCipher::OperationMode symOperationMode) throw (Pkcs7Exception, SymmetricCipherException) |
void | addCipher (Certificate &certificate) throw (InvalidStateException, Pkcs7Exception) |
Pkcs7EnvelopedData * | doFinal () throw (InvalidStateException, Pkcs7Exception) |
Pkcs7EnvelopedData * | doFinal (std::string &data) throw (InvalidStateException, Pkcs7Exception) |
Pkcs7EnvelopedData * | 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 envelopado com o uso de criptografia.
Pkcs7EnvelopedDataBuilder::Pkcs7EnvelopedDataBuilder | ( | Certificate & | cert, |
SymmetricKey::Algorithm | symAlgorithm, | ||
SymmetricCipher::OperationMode | symOperationMode | ||
) | |||
throw | ( | Pkcs7Exception, | |
SymmetricCipherException | |||
) |
Construtor recebendo os parâmetros necessários à envelopagem dos dados a serem adicionados ao pacote. O método Pkcs7EnvelopedDataBuilder::init() é invocado nesse construtor.
cert | referência para o certificado que será usado para proteger o conteúdo do PKCS7 e irá compor o pacote. |
symAlgorithm | o algoritmo simétrico que everá ser usado na envelopagem do pacote. |
symOperationMode | o modo de operação necessário para alguns cifradores, deve ser SymmetricCipher::NO_MODE para algoritmos que não precisem desse parâmetro. |
Pkcs7Exception | caso ocorra algum problema na criação do pacote PKCS7. |
SymmetricCipherException | caso ocorra algum problema na envelopagem do pacote PKCS7. |
|
virtual |
Destrutor padrão.
void Pkcs7EnvelopedDataBuilder::addCipher | ( | Certificate & | certificate | ) | |
throw | ( | InvalidStateException, | |||
Pkcs7Exception | |||||
) |
Permite a adição de novos certificados cujas chaves privadas correspondentes estarão aptas a abrir o pacote PKCS7.
certificate | referência para o novo certificado que estará apto a abrir o 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. |
Pkcs7EnvelopedData * Pkcs7EnvelopedDataBuilder::doFinal | ( | ) | ||
throw | ( | InvalidStateException, | ||
Pkcs7Exception | ||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote envelopado.
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. |
Pkcs7EnvelopedData * Pkcs7EnvelopedDataBuilder::doFinal | ( | std::string & | data | ) | |
throw | ( | InvalidStateException, | |||
Pkcs7Exception | |||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote envelopado.
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 ao adicionar o certificado ao pacote PKCS7. |
Pkcs7EnvelopedData * Pkcs7EnvelopedDataBuilder::doFinal | ( | ByteArray & | data | ) | |
throw | ( | InvalidStateException, | |||
Pkcs7Exception | |||||
) |
Implementa uma versão distinta do método Pkcs7Builder::doFinal() para gerar o pacote envelopado.
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 ao adicionar o certificado ao pacote PKCS7. |
void Pkcs7EnvelopedDataBuilder::init | ( | Certificate & | cert, |
SymmetricKey::Algorithm | symAlgorithm, | ||
SymmetricCipher::OperationMode | symOperationMode | ||
) | |||
throw | ( | Pkcs7Exception, | |
SymmetricCipherException | |||
) |
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.
cert | referência para o certificado que será usado para proteger o conteúdo do PKCS7. |
symAlgorithm | o algoritmo simétrico que everá ser usado na envelopagem do pacote. |
symOperationMode | o modo de operação necessário para alguns cifradores, deve ser SymmetricCipher::NO_MODE para algoritmos que não precisem desse parâmetro. |
Pkcs7Exception | caso ocorra algum problema na criação do pacote PKCS7. |
SymmetricCipherException | caso ocorra algum problema na envelopagem do pacote PKCS7. |