libcryptosec
Public Member Functions | Protected Types | Protected Attributes | List of all members

#include <Pkcs7Builder.h>

Inheritance diagram for Pkcs7Builder:
Pkcs7CertificateBundleBuilder Pkcs7EnvelopedDataBuilder Pkcs7SignedDataBuilder

Public Member Functions

 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)
 

Protected Types

enum  State { NO_INIT, INIT, UPDATE }
 

Protected Attributes

Pkcs7Builder::State state
 
PKCS7 * pkcs7
 
BIO * p7bio
 

Detailed Description

Implementa o padrão builder para a criação de um pacote PKCS7. Essa classe deve ser usada como uma classe abstrata, pois não pussui um método init.

See also
Pkcs7EnvelopedDataBuilder
Pkcs7SignedDataBuilder

Member Enumeration Documentation

◆ State

enum Pkcs7Builder::State
protected

Possíveis estados do builder.

Enumerator
NO_INIT 

estado inicial, quando o builder ainda não foi inicializado.

INIT 

estado em que o builder foi inicializado, mas ainda não recebeu dados para adicionar ao pacote PKCS7.

UPDATE 

estado em que o builder já possui condições para finalizar a criação do pacote através da chamada Pkcs7Builder::doFinal().

Constructor & Destructor Documentation

◆ Pkcs7Builder()

Pkcs7Builder::Pkcs7Builder ( )

Construtor padrão. Cria uma nova estrutura PKCS7.

◆ ~Pkcs7Builder()

Pkcs7Builder::~Pkcs7Builder ( )

Destrutor padrão. Limpa a estrutura PKCS7.

Member Function Documentation

◆ doFinal()

void Pkcs7Builder::doFinal ( std::istream *  in,
std::ostream *  out 
)
throw (InvalidStateException,
Pkcs7Exception,
EncodeException
)

Gera um pacote PKCS7 a partir de de um stream de entrada e põe o resultado no formato PEM em um stream de saída.

Parameters
instream de entrada cujo conteúdo será adicionado ao pacote PKCS7
outstream que vai receber o pacote PKCS7 no formato PEM
Exceptions
InvalidStateExceptionse o builder não estiver em um estado apropriado para receber dados, como no estado não inicializado.
Pkcs7Exceptioncaso ocorra algum erro no procedimento de empacotamento.
EncodeExceptioncaso ocorra algum erro na conversão para o formato PEM.
See also
State
Pkcs7EnvelopedDataBuilder::init()
Pkcs7SignedDataBuilder::init()

◆ update() [1/2]

void Pkcs7Builder::update ( std::string &  data)
throw (InvalidStateException,
Pkcs7Exception
)

Concatena novos dados ao pacote PKCS7.

Parameters
dataos dados a serem concatenados ao conteúdo prévio do pacote.
Exceptions
InvalidStateExceptionse o builder não estiver em um estado apropriado para receber dados, como no estado não inicializado.
Pkcs7Exceptioncaso ocorra algum erro no procedimento de empacotamento.
See also
Pkcs7Builder::State
Pkcs7EnvelopedDataBuilder::init()
Pkcs7SignedDataBuilder::init()

◆ update() [2/2]

void Pkcs7Builder::update ( ByteArray data)
throw (InvalidStateException,
Pkcs7Exception
)

Concatena novos dados ao pacote PKCS7.

Parameters
dataos dados a serem concatenados ao conteúdo prévio do pacote.
Exceptions
InvalidStateExceptionse o builder não estiver em um estado apropriado para receber dados, como no estado não inicializado.
Pkcs7Exceptioncaso ocorra algum erro no procedimento de empacotamento.
See also
State
Pkcs7EnvelopedDataBuilder::init()
Pkcs7SignedDataBuilder::init()

Member Data Documentation

◆ p7bio

BIO* Pkcs7Builder::p7bio
protected

Estrutura OpenSSL usada na geração do pacote PKCS7

◆ pkcs7

PKCS7* Pkcs7Builder::pkcs7
protected

Estrutura OpenSSL que representa o pacote PKCS7

◆ state

Pkcs7Builder::State Pkcs7Builder::state
protected

Estado atual do builder


The documentation for this class was generated from the following files: