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

Implementa as funcionalidades de um Hmac. Antes de utilizar o Hmac, o algoritmo de resumo (hash) deve ser carregado. More...

#include <Hmac.h>

Public Member Functions

 Hmac ()
 
 Hmac (std::string key, MessageDigest::Algorithm algorithm) throw (HmacException)
 
 Hmac (ByteArray key, MessageDigest::Algorithm algorithm) throw (HmacException)
 
 Hmac (std::string key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException)
 
 Hmac (ByteArray key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException)
 
virtual ~Hmac ()
 
void init (ByteArray &key, MessageDigest::Algorithm algorithm) throw (HmacException)
 
void init (ByteArray &key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException)
 
void init (std::string key, MessageDigest::Algorithm algorithm) throw (HmacException)
 
void init (std::string key, MessageDigest::Algorithm algorithm, Engine &engine) throw (HmacException)
 
void update (ByteArray &data) throw (HmacException, InvalidStateException)
 
void update (std::string data) throw (HmacException, InvalidStateException)
 
void update (std::vector< std::string > &data) throw (HmacException, InvalidStateException)
 
void update (std::vector< ByteArray > &data) throw (HmacException, InvalidStateException)
 
ByteArray doFinal (ByteArray &data) throw (HmacException, InvalidStateException)
 
ByteArray doFinal (std::string data) throw (HmacException, InvalidStateException)
 
ByteArray doFinal () throw (HmacException, InvalidStateException)
 

Protected Types

enum  State { NO_INIT, INIT, UPDATE }
 

Protected Attributes

MessageDigest::Algorithm algorithm
 
State state
 
HMAC_CTX ctx
 

Detailed Description

Implementa as funcionalidades de um Hmac. Antes de utilizar o Hmac, o algoritmo de resumo (hash) deve ser carregado.

Member Enumeration Documentation

◆ State

enum Hmac::State
protected
Enumerator
NO_INIT 
INIT 
UPDATE 

Constructor & Destructor Documentation

◆ Hmac() [1/5]

Hmac::Hmac ( )

Construtor padrão. Controi um objeto Hmac não inicializado.

See also
Hmac::init(std::string key, Hmac::Algorithm algorithm).
Hmac::update(ByteArray &data).
Hmac::doFinal().

◆ Hmac() [2/5]

Hmac::Hmac ( std::string  key,
MessageDigest::Algorithm  algorithm 
)
throw (HmacException
)

Construtor. Constroi um objeto Hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ Hmac() [3/5]

Hmac::Hmac ( ByteArray  key,
MessageDigest::Algorithm  algorithm 
)
throw (HmacException
)

Construtor. Constroi um objeto Hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ Hmac() [4/5]

Hmac::Hmac ( std::string  key,
MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (HmacException
)

Construtor. Constroi um objeto Hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ Hmac() [5/5]

Hmac::Hmac ( ByteArray  key,
MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (HmacException
)

Construtor. Constroi um objeto Hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ ~Hmac()

Hmac::~Hmac ( )
virtual

Destrutor.

Member Function Documentation

◆ doFinal() [1/3]

ByteArray Hmac::doFinal ( ByteArray data)
throw (HmacException,
InvalidStateException
)

Gerar o hmac

Parameters
dataconteúdo para geração do hmac.
Returns
bytes que representam o hmac.
Exceptions
HmacExceptioncaso ocorra erro ao finalizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do hmac.

◆ doFinal() [2/3]

ByteArray Hmac::doFinal ( std::string  data)
throw (HmacException,
InvalidStateException
)

Gerar o hmac

Parameters
dataconteúdo para geração do hmac.
Returns
bytes que representam o hmac.
Exceptions
HmacExceptioncaso ocorra erro ao finalizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do hmac.

◆ doFinal() [3/3]

ByteArray Hmac::doFinal ( )
throw (HmacException,
InvalidStateException
)

Gerar o hmac

Returns
bytes que representam o hmac.
Exceptions
HmacExceptioncaso ocorra erro ao finalizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente ou caso não tenha sido passado o conteúdo para calculo do hmac.

◆ init() [1/4]

void Hmac::init ( ByteArray key,
MessageDigest::Algorithm  algorithm 
)
throw (HmacException
)

Inicializar a estrutura do hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ init() [2/4]

void Hmac::init ( ByteArray key,
MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (HmacException
)

Inicializar a estrutura do hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ init() [3/4]

void Hmac::init ( std::string  key,
MessageDigest::Algorithm  algorithm 
)
throw (HmacException
)

Inicializar a estrutura do hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ init() [4/4]

void Hmac::init ( std::string  key,
MessageDigest::Algorithm  algorithm,
Engine engine 
)
throw (HmacException
)

Inicializar a estrutura do hmac.

Parameters
keychave secreta.
algorithmalgoritmo de resumo.
engineobjeto Engine.
Exceptions
HmacExceptioncaso ocorra erro ao inicializar a estrutura do hmac do OpenSSL.

◆ update() [1/4]

void Hmac::update ( ByteArray data)
throw (HmacException,
InvalidStateException
)

Atualizar/concatenar o conteúdo de entrada do hmac.

Parameters
dataconteúdo para geração do hmac.
Exceptions
HmacExceptioncaso ocorra erro ao atualizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente.

◆ update() [2/4]

void Hmac::update ( std::string  data)
throw (HmacException,
InvalidStateException
)

Atualizar/concatenar o conteúdo de entrada do hmac.

Parameters
dataconteúdo para geração do hmac.
Exceptions
HmacExceptioncaso ocorra erro ao atualizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente.

◆ update() [3/4]

void Hmac::update ( std::vector< std::string > &  data)
throw (HmacException,
InvalidStateException
)

Atualizar/concatenar o conteúdo de entrada do hmac.

Parameters
dataconteúdo para geração do hmac usando vector<string>.
Exceptions
HmacExceptioncaso ocorra erro ao atualizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente.

◆ update() [4/4]

void Hmac::update ( std::vector< ByteArray > &  data)
throw (HmacException,
InvalidStateException
)

Atualizar/concatenar o conteúdo de entrada do hmac.

Parameters
dataconteúdo para geração do hmac usando vector<ByteArray>.
Exceptions
HmacExceptioncaso ocorra erro ao atualizar o contexto do hmac do OpenSSL.
InvalidStateExceptioncaso o objeto Hmac não tenha sido inicializado corretamente.

Member Data Documentation

◆ algorithm

MessageDigest::Algorithm Hmac::algorithm
protected

Algoritmo selecionado.

◆ ctx

HMAC_CTX Hmac::ctx
protected

Estrutura OpenSSL que representa o Hmac.

◆ state

State Hmac::state
protected

Estado das estruturas de resumo.


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