Operações de hash de criptogragia simétrica e assimétrica. Mais...
Funções | |
byte[] | createHash (int nAlgId, byte[] hKey, int nFlags) throws TacException |
Cria um contexto para cálculo de Hash. Mais... | |
byte[] | createHash (int nAlgId) throws TacException |
Cria um contexto para cálculo do Hash. Mais... | |
byte[] | genEcdhKey (int dwOP, String szPriKey, byte[] pbInData) throws TacException |
Gera um segredo compartilhado(shared secret)/chave utilizando o protocolo de acordo de chaves (key-agreement) ECDH (Elliptc Curve Diffie-Hellman). Mais... | |
byte[] | encrypt (String strKeyId, byte[] byInput) throws TacException |
Criptografa um buffer de dados. Mais... | |
byte[] | encrypt (String strKeyId, byte[] byInput, int flags) throws TacException |
Criptografa um buffer de dados. Mais... | |
byte[] | encrypt (String strKeyId, byte[] byInput, byte[] byIV, int dwPadding, int dwMode) throws TacException |
Criptografa dados. Mais... | |
byte[] | encrypt (String strKeyId, byte[] byInput, byte[] byIV, int dwPadding, int dwMode, int flags) throws TacException |
Criptografa dados. Mais... | |
byte[] | decrypt (String keyId, byte[] input) throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt. Mais... | |
byte[] | decrypt (String keyId, byte[] input, int flags) throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt. Mais... | |
byte[] | decrypt (String keyId, byte[] input, byte[] byIV, int dwPadding, int dwMode) throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt. Mais... | |
byte[] | decrypt (String keyId, byte[] input, byte[] byIV, int dwPadding, int dwMode, int flags) throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt. Mais... | |
int | verifySignature (String keyId, int algHash, byte[] bSignature, byte[] bMessage) throws TacException |
Verifica uma mensagem. Mais... | |
byte[] | signHash (String keyId, int algHash, byte[] bMessage) throws TacException |
Assina um dado a partir do seu conteúdo. Mais... | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash) throws TacException |
Assina um dado a partir do seu hash previamente computado. Mais... | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash, boolean useOID) throws TacException |
Assina um dado a partir do seu hash previamente computado. Mais... | |
byte[] | signHashedData (String keyId, int algHash, byte[] bHash, int nFlags) throws TacException |
Assina um dado a partir do seu hash previamente computado. Mais... | |
byte[] | generateHash (int algId, int flags, byte[] data) throws TacException |
Gera um hash em apenas uma chamada. Mais... | |
byte[] | generateHash (int algId, byte[] data) throws TacException |
Gera um hash em apenas uma chamada. Mais... | |
void | initHash (int algId, int flags) throws TacException |
Inicializa uma operação de hash por partes. Mais... | |
void | initHash (int algId) throws TacException |
Inicializa uma operação MAC por partes. Mais... | |
void | updateHash (byte[] data) throws TacException |
Atualiza uma operação de hash com mais dados. Mais... | |
byte[] | endHash () throws TacException |
Finaliza uma operação de hash. Mais... | |
byte[] | generateMAC (int algId, String macKey, int flags, byte[] data) throws TacException |
Gera um MAC em apenas uma chamada. Mais... | |
byte[] | generateMAC (int algId, String macKey, byte[] data) throws TacException |
Gera um MAC em apenas uma chamada. Mais... | |
void | initMAC (int algId, String macKey, int flags) throws TacException |
Inicializa uma operação MAC por partes. Mais... | |
void | initMAC (int algId, String macKey) throws TacException |
Inicializa uma operação MAC por partes. Mais... | |
void | updateMAC (byte[] data) throws TacException |
Atualiza uma operação de MAC com mais dados. Mais... | |
byte[] | endMAC () throws TacException |
Finaliza uma operação de MAC. Mais... | |
Descrição Detalhada
Operações de hash de criptogragia simétrica e assimétrica.
Funções
byte [] createHash | ( | int | nAlgId, |
byte[] | hKey, | ||
int | nFlags | ||
) | throws TacException |
Cria um contexto para cálculo de Hash.
- Parâmetros
-
nAlgId Identificador do algoritmo a ser utilizado hKey Contexto da chave a ser utilizado nFlags
- Retorna
- Contexto para cálculo do hash
- Exceções
-
TacException
- Veja também
- getUserKey(String nKey)
byte [] createHash | ( | int | nAlgId | ) | throws TacException |
Cria um contexto para cálculo do Hash.
- Parâmetros
-
nAlgId Indica o algoritmo associado ao contexto de hash.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Retorna
- Exceções
-
TacException
byte [] genEcdhKey | ( | int | dwOP, |
String | szPriKey, | ||
byte[] | pbInData | ||
) | throws TacException |
Gera um segredo compartilhado(shared secret)/chave utilizando o protocolo de acordo de chaves (key-agreement) ECDH (Elliptc Curve Diffie-Hellman).
- Parâmetros
-
dwOP Indica o algoritmo associado ao contexto de hash.
Valor | Significado |
---|---|
TacNDJavaLib.DN_GEN_KEY_KDF_RAW_SECRET | Retorna no retorno do método a chave secreta ECDH sem derivação. Recomendamos derivar uma chave a partir desta, para comunicação com o par. O parâmetro passado em pbInData deve ser um buffer contendo a chave pública do par no formato DER. |
- Parâmetros
-
szPriKey String contendo o identificador da chave privada dentro do HSM. Este identificador Não deve conter espaços ou caracteres especiais. Caracteres maiúsculos e minúsculos são diferenciados (case sensitive). pbInData Dados de entrada da função. Deve ser preenchido de acordo com o descrito nas opções de dwOP.
- Retorna
- Buffer contendo a chave/segredo de saída.
- Exceções
-
TacException
byte [] encrypt | ( | String | strKeyId, |
byte[] | byInput | ||
) | throws TacException |
Criptografa um buffer de dados.
- Parâmetros
-
strKeyId Idenficador da chave. byInput Buffer que contém os dados a serem criptografados.
- Retorna
- Retorna os dados criptografados.
- Exceções
-
TacException
byte [] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
int | flags | ||
) | throws TacException |
Criptografa um buffer de dados.
- Parâmetros
-
strKeyId Idenficador da chave. byInput Buffer que contém os dados a serem criptografados. flags Indica opções adicionais para a operação. Valor Signficado TacNDJavaLib.D_NO_RSA_PADDING Não faz padding RSA PKCS#1.5. Pode ser utilizada juntamente com a flag TacNDJavaLib.D_FORCE_ACTUAL_RSA. TacNDJavaLib.D_FORCE_ACTUAL_RSA Utiliza a chave RSA de maneira direta. Encriptação com chave privada decriptação com pública. Pode ser utilizada juntamente com a flag TacNDJavaLib.D_NO_RSA_PADDING.
- Retorna
- Retorna os dados criptografados.
- Exceções
-
TacException
- Anotações
- Essa API suporta operações RSA feitas diretamente nesta função. Os dados para serem operados devem ter comprimento igual ou menor que o tamanho da chave menos 11 bytes. Quando utilizada a chave pública para criptografia o padding utilizado é PKCS#1 tipo 2 e no processo de decriptografia, o padding é verificado e retirado. Para operações com a chave privada, utiliza-se o padding PKCS#1 tipo 1. O HSM irá verificar a formatação do padding mesmo quando a operação não tem padding definido como em TacNDJavaLib.D_NO_RSA_PADDING.
byte [] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode | ||
) | throws TacException |
Criptografa dados.
- Parâmetros
-
strKeyId Idenficador da chave. byInput Buffer que contêm os dados a serem criptografados. byIV Buffer contendo o IV(Initialization Vector). Pode ser passado null para Não ser utilizado ou utilizar o padrão. Vetor de inicialização usado com algoritmos de bloco de acordo com o seu modo de operação de criptografia simétrica. O tamanho do vetor de inicialização depende do algoritmo simétrico utilizado, já que tem o mesmo comprimento do bloco de operação.
Válido apenas para chaves simétricas.dwPadding A biblioteca pode trabalhar as seguintes formas de padding. Valor Signficado TacNDJavaLib.D_NO_PADDING Não é feito padding, os dados passados para criptografia já deve ter comprimento múltiplo do tamanho do bloco de operação. TacNDJavaLib.D_PKCS5_PADDING O padding é feito seguindo o padrão definido no PKCS#5. TacNDJavaLib.D_ZERO_PADDING Caso o comprimento dos dados Não seja múltiplo do tamanho do bloco de operação, ele é completado com zeros a direita até que tenha um tamanho suportado pelo algoritmo. Este tipo de padding Não deve ser usado com dados onde pode haver bytes com valor zero, pois pode gerar ambiguidade na operação de decriptografia. Caso os dados contenham apenas texto ASCII, por exemplo, Não há problema.
Válido apenas para chaves simétricas.dwMode Indica o modo de operação de criptografia do algoritmo de bloco. Valor Signficado TacNDJavaLib.MODE_ECB Eletronic Codebook (ECB). TacNDJavaLib.MODE_CBC Cipher Block Chain (CBC). TacNDJavaLib.MODE_CFB Cipher-Feedback. Ainda Não suportada. TacNDJavaLib.MODE_OFB Output-Feedback. Ainda Não suportada.
Válido apenas para chaves simétricas e algoritmos de bloco.
- Retorna
- Retorna os dados criptografados.
- Exceções
-
TacException
byte [] encrypt | ( | String | strKeyId, |
byte[] | byInput, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode, | ||
int | flags | ||
) | throws TacException |
Criptografa dados.
- Parâmetros
-
strKeyId Idenficador da chave. byInput Buffer que contêm os dados a serem criptografados. byIV Buffer contendo o IV(Initialization Vector). Pode ser passado null para Não ser utilizado ou utilizar o padrão. Vetor de inicialização usado com algoritmos de bloco de acordo com o seu modo de operação de criptografia simétrica. O tamanho do vetor de inicialização depende do algoritmo simétrico utilizado, já que tem o mesmo comprimento do bloco de operação.
Válido apenas para chaves simétricas.dwPadding A biblioteca pode trabalhar as seguintes formas de padding. Valor Signficado TacNDJavaLib.D_NO_PADDING Não é feito padding, os dados passados para criptografia já deve ter comprimento múltiplo do tamanho do bloco de operação. TacNDJavaLib.D_PKCS5_PADDING O padding é feito seguindo o padrão definido no PKCS#5. TacNDJavaLib.D_ZERO_PADDING Caso o comprimento dos dados Não seja múltiplo do tamanho do bloco de operação, ele é completado com zeros a direita até que tenha um tamanho suportado pelo algoritmo. Este tipo de padding Não deve ser usado com dados onde pode haver bytes com valor zero, pois pode gerar ambiguidade na operação de decriptografia. Caso os dados contenham apenas texto ASCII, por exemplo, Não há problema.
Válido apenas para chaves simétricas.dwMode Indica o modo de operação de criptografia do algoritmo de bloco. Valor Signficado TacNDJavaLib.MODE_ECB Eletronic Codebook (ECB). TacNDJavaLib.MODE_CBC Cipher Block Chain (CBC). TacNDJavaLib.MODE_CFB Cipher-Feedback. Ainda Não suportada. TacNDJavaLib.MODE_OFB Output-Feedback. Ainda Não suportada.
Válido apenas para chaves simétricas e algoritmos de bloco.flags Indica opções adicionais para a operação. Valor Signficado TacNDJavaLib.D_NO_RSA_PADDING Não faz padding RSA PKCS#1.5.Pode ser utilizada juntamente com a flag TacNDJavaLib.D_FORCE_ACTUAL_RSA. TacNDJavaLib.D_FORCE_ACTUAL_RSA Utiliza a chave RSA de maneira direta. Encriptação com chave privada decriptação com pública. Pode ser utilizada juntamente com a flag TacNDJavaLib.D_NO_RSA_PADDING.
- Retorna
- Retorna os dados criptografados.
- Exceções
-
TacException
- Anotações
- Essa API suporta operações RSA feitas diretamente nesta função. Os dados para serem operados devem ter comprimento igual ou menor que o tamanho da chave menos 11 bytes. Quando utilizada a chave pública para criptografia o padding utilizado é PKCS#1 tipo 2 e no processo de decriptografia, o padding é verificado e retirado. Para operações com a chave privada, utiliza-se o padding PKCS#1 tipo 1. O HSM irá verificar a formatação do padding mesmo quando a operação não tem padding definido como em TacNDJavaLib.D_NO_RSA_PADDING.
byte [] decrypt | ( | String | keyId, |
byte[] | input | ||
) | throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt.
- Parâmetros
-
keyId Idenficador da chave. input Buffer que contêm os dados a serem decriptografados. Para operações simétricas de bloco, é necessário que o tamanho dos dados seja sempre múltiplo do bloco usado pelo algoritmo em questão.
- Retorna
- Retorna os dados decriptografados.
- Exceções
-
TacException
byte [] decrypt | ( | String | keyId, |
byte[] | input, | ||
int | flags | ||
) | throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt.
- Parâmetros
-
keyId Idenficador da chave. input Buffer que contêm os dados a serem decriptografados. Para operações simétricas de bloco, é necessário que o tamanho dos dados seja sempre múltiplo do bloco usado pelo algoritmo em questão. flags Indica opções adicionais para a operação. Valor Signficado TacNDJavaLib.D_NO_RSA_PADDING Não faz padding RSA PKCS#1.5.Pode ser utilizada juntamente com a flag TacNDJavaLib.D_FORCE_ACTUAL_RSA. TacNDJavaLib.D_FORCE_ACTUAL_RSA Utiliza a chave RSA de maneira direta. Encriptação com chave privada decriptação com pública. Pode ser utilizada juntamente com a flag TacNDJavaLib.D_NO_RSA_PADDING.
- Retorna
- Retorna os dados decriptografados.
- Exceções
-
TacException
- Anotações
- Essa API suporta operações RSA feitas diretamente nesta função. Os dados para serem operados devem ter comprimento igual ou menor que o tamanho da chave menos 11 bytes. Quando utilizada a chave pública para criptografia o padding utilizado é PKCS#1 tipo 2 e no processo de decriptografia, o padding é verificado e retirado. Para operações com a chave privada, utiliza-se o padding PKCS#1 tipo 1. O HSM irá verificar a formatação do padding mesmo quando a operação não tem padding definido como em TacNDJavaLib.D_NO_RSA_PADDING.
byte [] decrypt | ( | String | keyId, |
byte[] | input, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode | ||
) | throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt.
- Parâmetros
-
keyId Idenficador da chave. input Buffer que contêm os dados a serem decriptografados. Para operações simétricas de bloco, é necessário que o tamanho dos dados seja sempre múltiplo do bloco usado pelo algoritmo em questão. byIV Buffer contendo o IV(Initialization Vector). Pode ser passado null para Não ser utilizado ou utilizar o padrão. Vetor de inicialização usado com algoritmos de bloco de acordo com o seu modo de operação de criptografia simétrica. O tamanho do vetor de inicialização depende do algoritmo simétrico utilizado, já que tem o mesmo comprimento do bloco de operação.
Válido apenas para chaves simétricas.dwPadding A biblioteca pode trabalhar as seguintes formas de padding. Valor Signficado TacNDJavaLib.D_NO_PADDING Não é feito padding, os dados passados para criptografia já deve ter comprimento múltiplo do tamanho do bloco de operação. TacNDJavaLib.D_PKCS5_PADDING O padding é feito seguindo o padrão definido no PKCS#5. TacNDJavaLib.D_ZERO_PADDING Caso o comprimento dos dados Não seja múltiplo do tamanho do bloco de operação, ele é completado com zeros a direita até que tenha um tamanho suportado pelo algoritmo. Este tipo de padding Não deve ser usado com dados onde pode haver bytes com valor zero, pois pode gerar ambiguidade na operação de decriptografia. Caso os dados contenham apenas texto ASCII, por exemplo, Não há problema.
Válido apenas para chaves simétricas.dwMode Indica o modo de operação de criptografia do algoritmo de bloco. Valor Signficado TacNDJavaLib.MODE_ECB Eletronic Codebook (ECB). TacNDJavaLib.MODE_CBC Cipher Block Chain (CBC). TacNDJavaLib.MODE_CFB Cipher-Feedback. Ainda Não suportada. TacNDJavaLib.MODE_OFB Output-Feedback. Ainda Não suportada.
Válido apenas para chaves simétricas e algoritmos de bloco.
- Retorna
- Retorna os dados decriptografados.
- Exceções
-
TacException
byte [] decrypt | ( | String | keyId, |
byte[] | input, | ||
byte[] | byIV, | ||
int | dwPadding, | ||
int | dwMode, | ||
int | flags | ||
) | throws TacException |
Decriptografa dados, muitas vezes cifrado pela função DEncrypt.
- Parâmetros
-
keyId Idenficador da chave. input Buffer que contêm os dados a serem decriptografados. Para operações simétricas de bloco, é necessário que o tamanho dos dados seja sempre múltiplo do bloco usado pelo algoritmo em questão. byIV Buffer contendo o IV(Initialization Vector). Pode ser passado null para Não ser utilizado ou utilizar o padrão. Vetor de inicialização usado com algoritmos de bloco de acordo com o seu modo de operação de criptografia simétrica. O tamanho do vetor de inicialização depende do algoritmo simétrico utilizado, já que tem o mesmo comprimento do bloco de operação.
Válido apenas para chaves simétricas.dwPadding A biblioteca pode trabalhar as seguintes formas de padding. Valor Signficado TacNDJavaLib.D_NO_PADDING Não é feito padding, os dados passados para criptografia já deve ter comprimento múltiplo do tamanho do bloco de operação. TacNDJavaLib.D_PKCS5_PADDING O padding é feito seguindo o padrão definido no PKCS#5. TacNDJavaLib.D_ZERO_PADDING Caso o comprimento dos dados Não seja múltiplo do tamanho do bloco de operação, ele é completado com zeros a direita até que tenha um tamanho suportado pelo algoritmo. Este tipo de padding Não deve ser usado com dados onde pode haver bytes com valor zero, pois pode gerar ambiguidade na operação de decriptografia. Caso os dados contenham apenas texto ASCII, por exemplo, Não há problema.
Válido apenas para chaves simétricas.dwMode Indica o modo de operação de criptografia do algoritmo de bloco. Valor Signficado TacNDJavaLib.MODE_ECB Eletronic Codebook (ECB). TacNDJavaLib.MODE_CBC Cipher Block Chain (CBC). TacNDJavaLib.MODE_CFB Cipher-Feedback. Ainda Não suportada. TacNDJavaLib.MODE_OFB Output-Feedback. Ainda Não suportada.
Válido apenas para chaves simétricas e algoritmos de bloco.flags Indica opções adicionais para a operação. Valor Signficado TacNDJavaLib.D_NO_RSA_PADDING Não faz padding RSA PKCS#1.5.Pode ser utilizada juntamente com a flag TacNDJavaLib.D_FORCE_ACTUAL_RSA. TacNDJavaLib.D_FORCE_ACTUAL_RSA Utiliza a chave RSA de maneira direta. Encriptação com chave privada decriptação com pública. Pode ser utilizada juntamente com a flag TacNDJavaLib.D_NO_RSA_PADDING.
- Retorna
- Retorna os dados decriptografados.
- Exceções
-
TacException
- Anotações
- Essa API suporta operações RSA feitas diretamente nesta função. Os dados para serem operados devem ter comprimento igual ou menor que o tamanho da chave menos 11 bytes. Quando utilizada a chave pública para criptografia o padding utilizado é PKCS#1 tipo 2 e no processo de decriptografia, o padding é verificado e retirado. Para operações com a chave privada, utiliza-se o padding PKCS#1 tipo 1. O HSM irá verificar a formatação do padding mesmo quando a operação não tem padding definido como em TacNDJavaLib.D_NO_RSA_PADDING.
int verifySignature | ( | String | keyId, |
int | algHash, | ||
byte[] | bSignature, | ||
byte[] | bMessage | ||
) | throws TacException |
Verifica uma mensagem.
- Parâmetros
-
keyId Idenficador da chave privada de onde será extraída a chave pública para a verificação. algHash Algoritmo de hash utilizado na verificação da assinatura.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
bSignature Assinatura. bMessage Mensagem para verificação da assinatura.
- Retorna
- Exceções
-
TacException
byte [] signHash | ( | String | keyId, |
int | algHash, | ||
byte[] | bMessage | ||
) | throws TacException |
Assina um dado a partir do seu conteúdo.
- Parâmetros
-
keyId Identificador da chave privada. algHash Algoritmo de hash utilizado na assinatura.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
bMessage Mensagem.
- Retorna
- A assinatura gerada.
- Exceções
-
TacException
- Anotações
- O formato da assinatura gerada está em conformidade com as especificações do PKCS#1 v.1.5, utilizando padding tipo 1 quando for usada uma chave RSA, com o uso de chaves ECC a assinatura estará no padrão DER.
byte [] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash | ||
) | throws TacException |
Assina um dado a partir do seu hash previamente computado.
- Parâmetros
-
keyId Identificador da chave privada. algHash Algoritmo de hash utilizado na assinatura.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
bHash Hash previamente computado da mensagem de acordo com o algoritmo definido em algHash.
- Retorna
- A assinatura gerada.
- Exceções
-
TacException
- Anotações
- O formato da assinatura gerada está em conformidade com as especificações do PKCS#1 v.1.5, utilizando padding tipo 1 quando for usada uma chave RSA, com o uso de chaves ECC a assinatura estará no padrão DER.
byte [] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash, | ||
boolean | useOID | ||
) | throws TacException |
Assina um dado a partir do seu hash previamente computado.
- Parâmetros
-
keyId Identificador da chave privada. algHash Algoritmo de hash utilizado na assinatura.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
bHash Hash previamente computado da mensagem de acordo com o algoritmo definido em algHash. useOID Quando este argumento for definido como false, o identificador do objeto (OID) não é colocado na frente do valor do hash, como previsto no PKCS#7, atributo DigestInfo.
- Retorna
- A assinatura gerada.
- Exceções
-
TacException
- Anotações
- O formato da assinatura gerada está em conformidade com as especificações do PKCS#1 v.1.5, utilizando padding tipo 1 quando for usada uma chave RSA, com o uso de chaves ECC a assinatura estará no padrão DER.
byte [] signHashedData | ( | String | keyId, |
int | algHash, | ||
byte[] | bHash, | ||
int | nFlags | ||
) | throws TacException |
Assina um dado a partir do seu hash previamente computado.
- Parâmetros
-
keyId Identificador da chave privada. algHash Algoritmo de hash utilizado na assinatura.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
bHash Hash previamente computado da mensagem de acordo com o algoritmo definido em algHash. nFlags Deve-se passar 0 ou algum modificador definido na lista abaixo. Valor Significado NO_HASH_OID Quando essa flag é especificada, o identificador do objeto (OID) não é colocado na frente do valor do hash, como previsto no PKCS#7, atributo DigestInfo.
Por padrão, esse o OID é sempre acrescentado à assinatura.
- Retorna
- A assinatura gerada.
- Exceções
-
TacException
- Anotações
- O formato da assinatura gerada está em conformidade com as especificações do PKCS#1 v.1.5, utilizando padding tipo 1 quando for usada uma chave RSA, com o uso de chaves ECC a assinatura estará no padrão DER.
byte [] generateHash | ( | int | algId, |
int | flags, | ||
byte[] | data | ||
) | throws TacException |
Gera um hash em apenas uma chamada.
- Parâmetros
-
algId Indica o algoritmo de HASH.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
flags Deve ser passado zero. data Mensagem.
- Retorna
- Hash gerado.
- Exceções
-
TacException
byte [] generateHash | ( | int | algId, |
byte[] | data | ||
) | throws TacException |
Gera um hash em apenas uma chamada.
- Parâmetros
-
algId Indica o algoritmo de HASH.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
data Mensagem.
- Retorna
- Hash gerado.
- Exceções
-
TacException
void initHash | ( | int | algId, |
int | flags | ||
) | throws TacException |
Inicializa uma operação de hash por partes.
Deve ser finalizada com endHash.
- Parâmetros
-
algId Indica o algoritmo de HASH.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Parâmetros
-
flags Deve ser passado zero.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initHash, os dados passados com updateHash e finalizada com endHash.
updateHash pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endHash para finalizar a operação e gerar o HASH.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endHash.
void initHash | ( | int | algId | ) | throws TacException |
Inicializa uma operação MAC por partes.
Deve ser finalizada com endMAC.
- Parâmetros
-
algId Indica o algoritmo de HASH.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_MD5 | Algoritmo de hash MD5. |
TacNDJavaLib.ALG_SHA1 | Algoritmo de hash SHA1. |
TacNDJavaLib.ALG_SSL_SHA1_MD5 | Hash para autenticação de cliente em SSLv3. |
TacNDJavaLib.ALG_SHA2_256 | Algoritmo de hash SHA2 - 256. |
TacNDJavaLib.ALG_SHA2_384 | Algoritmo de hash SHA2 - 384. |
TacNDJavaLib.ALG_SHA2_512 | Algoritmo de hash SHA2 - 512 |
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initHash, os dados passados com updateHash e finalizada com endHash.
updateHash pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endHash para finalizar a operação e gerar o HASH.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endHash.
void updateHash | ( | byte[] | data | ) | throws TacException |
Atualiza uma operação de hash com mais dados.
- Parâmetros
-
data Mensagem.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initHash, os dados passados com updateHash e finalizada com endHash.
updateHash pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endHash para finalizar a operação e gerar o HASH.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endHash.
byte [] endHash | ( | ) | throws TacException |
Finaliza uma operação de hash.
- Retorna
- HASH gerado.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initHash, os dados passados com updateHash e finalizada com endHash.
updateHash pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endHash para finalizar a operação e gerar o HASH.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endHash.
byte [] generateMAC | ( | int | algId, |
String | macKey, | ||
int | flags, | ||
byte[] | data | ||
) | throws TacException |
Gera um MAC em apenas uma chamada.
- Parâmetros
-
algId Indica o algoritmo de MAC.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_HMAC_MD5 | Algoritmo HMAC MD5. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA1 | Algoritmo HMAC SHA1. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_256 | Algoritmo HMAC SHA2 - 256. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_384 | Algoritmo HMAC SHA2 - 384. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_512 | Algoritmo HMAC SHA2 - 512. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_CMAC_DES | Algoritmo CMAC 3DES. hmacKey deve ser o nome da chave 3DES utilizada no CMAC. |
TacNDJavaLib.ALG_CMAC_AES | Algoritmo CMAC AES. hmacKey deve ser o nome da chave AES utilizada no CMAC. |
- Parâmetros
-
macKey Nome da chave MAC. flags Deve ser passado zero. data Mensagem.
- Retorna
- MAC gerado.
- Exceções
-
TacException
byte [] generateMAC | ( | int | algId, |
String | macKey, | ||
byte[] | data | ||
) | throws TacException |
Gera um MAC em apenas uma chamada.
- Parâmetros
-
algId Indica o algoritmo de MAC.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_HMAC_MD5 | Algoritmo HMAC MD5. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA1 | Algoritmo HMAC SHA1. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_256 | Algoritmo HMAC SHA2 - 256. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_384 | Algoritmo HMAC SHA2 - 384. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_512 | Algoritmo HMAC SHA2 - 512. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_CMAC_DES | Algoritmo CMAC 3DES. hmacKey deve ser o nome da chave 3DES utilizada no CMAC. |
TacNDJavaLib.ALG_CMAC_AES | Algoritmo CMAC AES. hmacKey deve ser o nome da chave AES utilizada no CMAC. |
- Parâmetros
-
macKey Nome da chave MAC. data Mensagem.
- Retorna
- MAC gerado.
- Exceções
-
TacException
void initMAC | ( | int | algId, |
String | macKey, | ||
int | flags | ||
) | throws TacException |
Inicializa uma operação MAC por partes.
Deve ser finalizada com endMAC.
- Parâmetros
-
algId Indica o algoritmo de MAC.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_HMAC_MD5 | Algoritmo HMAC MD5. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA1 | Algoritmo HMAC SHA1. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_256 | Algoritmo HMAC SHA2 - 256. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_384 | Algoritmo HMAC SHA2 - 384. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_512 | Algoritmo HMAC SHA2 - 512. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_CMAC_DES | Algoritmo CMAC 3DES. hmacKey deve ser o nome da chave 3DES utilizada no CMAC. |
TacNDJavaLib.ALG_CMAC_AES | Algoritmo CMAC AES. hmacKey deve ser o nome da chave AES utilizada no CMAC. |
- Parâmetros
-
macKey Nome da chave MAC. flags Deve ser passado zero.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initMAC, os dados passados com updateMAC e finalizada com endMAC.
updateMAC pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endMAC para finalizar a operação e gerar o MAC.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endMAC.
void initMAC | ( | int | algId, |
String | macKey | ||
) | throws TacException |
Inicializa uma operação MAC por partes.
Deve ser finalizada com endMAC.
- Parâmetros
-
algId Indica o algoritmo de MAC.
Valor | Significado |
---|---|
TacNDJavaLib.ALG_HMAC_MD5 | Algoritmo HMAC MD5. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA1 | Algoritmo HMAC SHA1. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_256 | Algoritmo HMAC SHA2 - 256. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_384 | Algoritmo HMAC SHA2 - 384. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_HMAC_SHA2_512 | Algoritmo HMAC SHA2 - 512. hmacKey deve ser o nome da chave utilizada no HMAC. |
TacNDJavaLib.ALG_CMAC_DES | Algoritmo CMAC 3DES. hmacKey deve ser o nome da chave 3DES utilizada no CMAC. |
TacNDJavaLib.ALG_CMAC_AES | Algoritmo CMAC AES. hmacKey deve ser o nome da chave AES utilizada no CMAC. |
- Parâmetros
-
macKey Nome da chave MAC.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initMAC, os dados passados com updateMAC e finalizada com endMAC.
updateMAC pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endMAC para finalizar a operação e gerar o MAC.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endMAC.
void updateMAC | ( | byte[] | data | ) | throws TacException |
Atualiza uma operação de MAC com mais dados.
- Parâmetros
-
data Mensagem.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initMAC, os dados passados com updateMAC e finalizada com endMAC.
updateMAC pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endMAC para finalizar a operação e gerar o MAC.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endMAC.
byte [] endMAC | ( | ) | throws TacException |
Finaliza uma operação de MAC.
- Retorna
- MAC gerado.
- Exceções
-
TacException
- Anotações
- A operação por partes DEVE ser inicializada com initMAC, os dados passados com updateMAC e finalizada com endMAC.
updateMAC pode ser chamada uma ou várias vezes até que todo o conteúdo da mensagem seja enviado e logo após endMAC para finalizar a operação e gerar o MAC.
Uma operação de múltiplas partes não pode ser intercalada com outras operações, dentro da mesma sessão, até que ela seja finalizada com endMAC.