Operações de hash de criptogragia simétrica e assimétrica.
Funções | |
void | Encrypt (IntPtr hKey, bool Final, byte[] byData, ref int DataLen, int BufferLen) |
Encrypt blocos ou arquivos passando a referencia da chave. Utiliza o mode/padding default, ou seja, MODE CBC e padding PKCS#5. | |
void | Encrypt (String strKeyId, byte[] byData) |
Encripta um bloco no modo ECB sem nenhum Padding. Essa funcao e util para PIN BLOCK. Tamanho do array de dados precisa ser compativel com o tipo de chave. | |
byte[] | EncryptDefault (String strKeyId, byte[] byData) |
Encripta um bloco utilizando a parametrização padrão do HSM. | |
void | Encrypt (string strKeyId, IntPtr hHash, bool Final, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen, int BufferLen) |
Encripta um hash, dado geral ou um arquivo. | |
void | Encrypt (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen, int BufferLen) |
Encripta um hash, dado geral ou um arquivo. | |
void | EncryptDefault (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, byte[] byData, ref int DataLen, int BufferLen) |
Encripta utilizando a parametrização padrão do HSM. | |
int | GetEncryptBuffLen (IntPtr hKey, IntPtr hHash, int DataLen) |
Retorna o tamanho do buffer de criptografia. | |
byte[] | KEKEncode (String strKeyId, byte[] byKey) |
Codifica uma chave simetrica que está fora do HSM usando uma RSA dentro do HSM. | |
byte[] | KEKDecode (String strKeyId, byte[] byKey) |
Decodifica uma chave simétrica que está fora do HSM usando uma RSA dentro do HSM. | |
void | Decrypt (string strKeyId, IntPtr hHash, bool Final, byte[] byData, ref int DataLen) |
Decripta um hash, dado geral ou um arquivo. | |
void | Decrypt (IntPtr hKey, IntPtr hHash, bool Final, byte[] byData, ref int DataLen) |
Decripta um hash, dado geral ou um arquivo. | |
void | Decrypt (string strKeyId, byte[] byData) |
Decripta um bloco no modo ECB sem nenhum Padding. Essa funcao e util para PIN BLOCK. Tamanho do array de dados precisa ser compativel com o tipo de chave. | |
byte[] | DecryptDefault (string strKeyId, byte[] byData) |
Decripta um bloco utilizando a parametrização padrão do HSM. | |
void | Decrypt (string strKeyId, IntPtr hHash, bool Final, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen) |
Decripta um hash, dado geral ou um arquivo. | |
void | Decrypt (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, MODE_TYPE mode, PADDING_TYPE padding, byte[] byData, ref int DataLen) |
Decripta um hash, dado geral ou um arquivo. | |
void | DecryptDefault (IntPtr hKey, IntPtr hHash, bool Final, int dwFlags, byte[] iv, byte[] byData, ref int DataLen) |
Decripta utilizando a parametrização padrão do HSM. | |
IntPtr | CreateHash (HASH_ALG AlgId) |
Cria um handle para um hash. | |
byte[] | generateHash (HASH_ALG AlgId, byte[] Data, int Flags) |
Gera um HASH em apenas uma chamada. | |
byte[] | generateHash (HASH_ALG AlgId, byte[] Data) |
Gera um HASH em apenas uma chamada. | |
byte[] | generateMAC (HASH_ALG AlgId, String KeyId, byte[] Data, int Flags) |
Gera um MAC em apenas uma chamada. | |
byte[] | generateMAC (HASH_ALG AlgId, String KeyId, byte[] Data) |
Gera um MAC em apenas uma chamada. | |
void | initMAC (HASH_ALG AlgId, String KeyId, int Flags) |
Inicializa uma operação MAC por partes. Deve ser finalizada com endMAC. | |
void | initMAC (HASH_ALG AlgId, String KeyId) |
Inicializa uma operação MAC por partes. Deve ser finalizada com endMAC. | |
void | updateMAC (byte[] Data) |
Atualiza uma operação de MAC com mais dados. | |
byte[] | endMAC () |
Finaliza uma operação de MAC. | |
void | initHash (HASH_ALG AlgId, int Flags) |
Inicializa uma operação HASH por partes. Deve ser finalizada com endHash. | |
void | initHash (HASH_ALG AlgId) |
Inicializa uma operação HASH por partes. Deve ser finalizada com endHash. | |
void | updateHash (byte[] Data) |
Atualiza uma operação de HASH com mais dados. | |
byte[] | endHash () |
Finaliza uma operação de HASH. | |
void | HashData (IntPtr hHash, byte[] byData) |
Encontra o hash para um dado e o associa ao handle de hash. | |
byte[] | Hash (HASH_ALG alg, byte[] data) |
Retorna o hash de um dado. | |
void | DestroyHash (IntPtr hHash) |
Libera o handle do recurso de hash. | |
void | BatchSign (string strKeyId, byte[] pbBlock, Int32 dwBlockCount, Int32 dwFlags) |
Envia um lote de blocos para assinatura no HSM. | |
void | BatchSign (IntPtr hPrivateKey, byte[] pbBlock, Int32 dwBlockCount, Int32 dwFlags) |
Envia um lote de blocos para assinatura no HSM. | |
byte[] | SignHash (String keyId, byte[] bHash, DinamoClient.HASH_ALG algHash) |
Assina um hash. | |
byte[] | SignHash (String keyId, byte[] bHash, DinamoClient.HASH_ALG algHash, Int32 dwFlags) |
Assina um hash. | |
byte[] | SignHash (String keyId, IntPtr pHash, DinamoClient.HASH_ALG algHash) |
byte[] | SignHash (IntPtr hPrivateKey, IntPtr hHash) |
Assina um hash. | |
byte[] | SignHash (IntPtr hPrivateKey, IntPtr hHash, int dwFlags) |
Assina um hash. | |
bool | VerifySignature (IntPtr hHash, IntPtr hPublicKey, byte[] bySignature) |
Verifica uma assinatura. | |
void | SetHashValue (IntPtr hHash, byte[] Value) |
Armazena um hash. | |
byte[] | GetHashValue (IntPtr hHash) |
Retorna o valor do hash. | |
byte[] | GetRandom (Int32 dwReturnLen) |
Retorna um número aleatório do gerador do HSM. | |
DinamoApi.DN_M_OF_N_SPLIT_INFO | MofNSplit (byte bM, byte bN, byte[] pbSecret) |
Faz a divisão M de N de um segredo. De acordo com o padrão de compartilhamento de segredos de Shamir. | |
byte[] | MofNRecover (DinamoApi.DN_M_OF_N_PART[] parts) |
Reconstrói o segredo M de N a partir das partes dos custodiantes. De acordo com o padrão de compartilhamento de segredos de Shamir. | |
|
inline |
Encrypt blocos ou arquivos passando a referencia da chave. Utiliza o mode/padding default, ou seja, MODE CBC e padding PKCS#5.
hKey | Handle da chave |
Final | Indica se o bloco é o último |
byData | Dados a serem criptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. O tamanho buffer é especificado pelo parâmetro dwBufLen, o número de bytes a serem processados é especificado pelo parâmetro pdwDataLen. O tamanho do buffer deve ser grande o suficiente para conter os dados criptografados mais o padding. |
DataLen | Tamanho do bloco.Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados criptografados.Se o buffer alocado não for suficiente para receber todo o dado cifrado (faltar, por exemplo, espaço para o padding) a função irá falhar retornando D_MORE_DATA. |
BufferLen | Tamanho do buffer.Para operações simétricas que exijam padding o buffer deve ter o tamanho mínimo do comprimento do dado mais o tamanho do bloco de operação do algoritmo a ser utilizado. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encripta um bloco no modo ECB sem nenhum Padding. Essa funcao e util para PIN BLOCK. Tamanho do array de dados precisa ser compativel com o tipo de chave.
strKeyId | Referencia da chave |
byData | Dados a serem criptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. O tamanho buffer é especificado pelo parâmetro dwBufLen, o número de bytes a serem processados é especificado pelo parâmetro pdwDataLen. O tamanho do buffer deve ser grande o suficiente para conter os dados criptografados mais o padding. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encripta um bloco utilizando a parametrização padrão do HSM.
Para chaves simétricas: MODE_CBC: Cipher Block Chain (CBC) PKCS5_PADDING: O padding é feito seguindo o padrão definido no PKCS#5. IV: Preenchido com zeros.
Para chaves assimétricas RSA: PKCS1_PADDING: É utilizado o padding PKCS#1 v1.5.
strKeyId | Referencia da chave |
byData | Dados a serem criptografados. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encripta um hash, dado geral ou um arquivo.
strKeyId | Referencia da chave | ||||||||||||||
hHash | Ponteiro para um hash | ||||||||||||||
Final | Indica se o bloco é o último | ||||||||||||||
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. | ||||||||||||||
mode | Indica o modo de operação de criptografia do algoritmo de bloco.
| ||||||||||||||
padding | A biblioteca pode trabalhar com 3 formas de padding simétricos:
| ||||||||||||||
byData | Dados a serem criptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. O tamanho buffer é especificado pelo parâmetro dwBufLen, o número de bytes a serem processados é especificado pelo parâmetro pdwDataLen. O tamanho do buffer deve ser grande o suficiente para conter os dados criptografados mais o padding. | ||||||||||||||
DataLen | Tamanho do bloco.Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados criptografados.Se o buffer alocado não for suficiente para receber todo o dado cifrado (faltar, por exemplo, espaço para o padding) a função irá falhar retornando D_MORE_DATA. | ||||||||||||||
BufferLen | Tamanho do buffer.Para operações simétricas que exijam padding o buffer deve ter o tamanho mínimo do comprimento do dado mais o tamanho do bloco de operação do algoritmo a ser utilizado. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encripta um hash, dado geral ou um arquivo.
hKey | Contexto da chave | ||||||||||||||
hHash | Ponteiro para um hash | ||||||||||||||
Final | Indica se o bloco é o último | ||||||||||||||
dwFlags | Reservado para uso futuro (deve ser 0). | ||||||||||||||
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. | ||||||||||||||
mode | Indica o modo de operação de criptografia do algoritmo de bloco.
| ||||||||||||||
padding | A biblioteca pode trabalhar com 3 formas de padding simétricos:
| ||||||||||||||
byData | Dados a serem criptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. O tamanho buffer é especificado pelo parâmetro dwBufLen, o número de bytes a serem processados é especificado pelo parâmetro pdwDataLen. O tamanho do buffer deve ser grande o suficiente para conter os dados criptografados mais o padding. | ||||||||||||||
DataLen | Tamanho do bloco. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados criptografados.Se o buffer alocado não for suficiente para receber todo o dado cifrado (faltar, por exemplo, espaço para o padding) a função irá falhar retornando D_MORE_DATA. | ||||||||||||||
BufferLen | Tamanho do buffer.Para operações simétricas que exijam padding o buffer deve ter o tamanho mínimo do comprimento do dado mais o tamanho do bloco de operação do algoritmo a ser utilizado. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encripta utilizando a parametrização padrão do HSM.
Para chaves simétricas: MODE_CBC: Cipher Block Chain (CBC) PKCS5_PADDING: O padding é feito seguindo o padrão definido no PKCS#5.
Para chaves assimétricas RSA: PKCS1_PADDING: É utilizado o padding PKCS#1 v1.5.
hKey | Contexto da chave |
hHash | Ponteiro para um hash |
Final | Indica se o bloco é o último |
dwFlags | Reservado para uso futuro (deve ser 0). |
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. Caso seja passado null, será utilizado o IV preenchido com zeros. |
byData | Dados a serem criptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. O tamanho buffer é especificado pelo parâmetro dwBufLen, o número de bytes a serem processados é especificado pelo parâmetro pdwDataLen. O tamanho do buffer deve ser grande o suficiente para conter os dados criptografados mais o padding. |
DataLen | Tamanho do bloco. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados criptografados.Se o buffer alocado não for suficiente para receber todo o dado cifrado (faltar, por exemplo, espaço para o padding) a função irá falhar retornando D_MORE_DATA. |
BufferLen | Tamanho do buffer.Para operações simétricas que exijam padding o buffer deve ter o tamanho mínimo do comprimento do dado mais o tamanho do bloco de operação do algoritmo a ser utilizado. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Retorna o tamanho do buffer de criptografia.
hKey | Contexto da chave |
hHash | Ponteiro para um hash |
DataLen | Tamanho do dado a ser criptografado |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Codifica uma chave simetrica que está fora do HSM usando uma RSA dentro do HSM.
strKeyId | Identificação da Chave RSA |
byKey | Conteúdo da chave simétrica |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decodifica uma chave simétrica que está fora do HSM usando uma RSA dentro do HSM.
strKeyId | Identificação da Chave RSA |
byKey | Conteúdo da chave simétrica criptografada |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um hash, dado geral ou um arquivo.
strKeyId | Referencia da chave |
hHash | Ponteiro para um hash |
Final | Indica se o bloco é o último |
byData | Buffer que contem os dados a serem decriptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. 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. |
DataLen | Retorna o tamanho dos dados em byData. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados em texto claro. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um hash, dado geral ou um arquivo.
hKey | Contexto da chave |
hHash | Ponteiro para um hash |
Final | Indica se o bloco é o último |
byData | Buffer que contem os dados a serem decriptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. 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. |
DataLen | Retorna o tamanho dos dados em byData. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados em texto claro. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um bloco no modo ECB sem nenhum Padding. Essa funcao e util para PIN BLOCK. Tamanho do array de dados precisa ser compativel com o tipo de chave.
strKeyId | Referencia da chave |
byData | Buffer de dados |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um bloco utilizando a parametrização padrão do HSM.
Para chaves simétricas: MODE_CBC: Cipher Block Chain (CBC) PKCS5_PADDING: O padding é feito seguindo o padrão definido no PKCS#5. IV: Preenchido com zeros.
Para chaves assimétricas RSA: PKCS1_PADDING: É utilizado o padding PKCS#1 v1.5.
strKeyId | Referencia da chave |
byData | Buffer de dados |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um hash, dado geral ou um arquivo.
strKeyId | Referencia da chave | ||||||||||||||
hHash | Ponteiro para um hash | ||||||||||||||
Final | Indica se o bloco é o último | ||||||||||||||
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. | ||||||||||||||
mode | Indica o modo de operação de criptografia do algoritmo de bloco.
| ||||||||||||||
padding | A biblioteca pode trabalhar com 3 formas de padding simétricos:
| ||||||||||||||
byData | Buffer que contem os dados a serem decriptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. 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. | ||||||||||||||
DataLen | Retorna o tamanho dos dados em byData. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados em texto claro. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta um hash, dado geral ou um arquivo.
hKey | Conexto da chave | ||||||||||||||
hHash | Ponteiro para um hash | ||||||||||||||
Final | Indica se o bloco é o último | ||||||||||||||
dwFlags | Reservado para uso futuro (deve ser 0). | ||||||||||||||
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. | ||||||||||||||
mode | Indica o modo de operação de criptografia do algoritmo de bloco.
| ||||||||||||||
padding | A biblioteca pode trabalhar com 3 formas de padding simétricos:
| ||||||||||||||
byData | Buffer que contem os dados a serem decriptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. 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. | ||||||||||||||
DataLen | Retorna o tamanho dos dados em byData. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados em texto claro. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Decripta utilizando a parametrização padrão do HSM.
Para chaves simétricas: MODE_CBC: Cipher Block Chain (CBC) PKCS5_PADDING: O padding é feito seguindo o padrão definido no PKCS#5.
Para chaves assimétricas RSA: PKCS1_PADDING: É utilizado o padding PKCS#1 v1.5.
hKey | Conexto da chave |
hHash | Ponteiro para um hash |
Final | Indica se o bloco é o último |
dwFlags | Reservado para uso futuro (deve ser 0). |
iv | 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. Mais detalhes na sessão Observações. Válido apenas para chaves simétricas. Caso seja passado null, será utilizado o IV preenchido com zeros. |
byData | Buffer que contem os dados a serem decriptografados. Quando a função retorna, os dados originais são sobrescritos pelo resultado da operação de criptografia. 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. |
DataLen | Retorna o tamanho dos dados em byData. Quando parâmetro de entrada, contém o número de bytes que serão processados, quando parâmetro de saída, contém o número de bytes dos dados em texto claro. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Cria um handle para um hash.
AlgId | Algoritmo de hash |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera um HASH em apenas uma chamada.
AlgId | Algoritmo de hash |
Data | Mensagem |
Flags | Deve ser passado zero |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera um HASH em apenas uma chamada.
AlgId | Algoritmo de hash |
Data | Mensagem |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera um MAC em apenas uma chamada.
AlgId | Algoritmo de hash |
KeyId | Nome da chave MAC |
Data | Mensagem |
Flags | Dever ser passado zero |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera um MAC em apenas uma chamada.
AlgId | Algoritmo de hash |
KeyId | Nome da chave MAC |
Data | Mensagem |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Inicializa uma operação MAC por partes. Deve ser finalizada com endMAC.
AlgId | Algoritmo de hash |
KeyId | Nome da chave MAC |
Flags | Deve ser passado zero |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Inicializa uma operação MAC por partes. Deve ser finalizada com endMAC.
AlgId | Algoritmo de hash |
KeyId | Nome da chave MAC |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Atualiza uma operação de MAC com mais dados.
Data | Mensagem |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Finaliza uma operação de MAC.
DinamoException | Lança exceção em caso de erro. |
|
inline |
Inicializa uma operação HASH por partes. Deve ser finalizada com endHash.
AlgId | Algoritmo de hash |
Flags | Deve ser passado zero |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Inicializa uma operação HASH por partes. Deve ser finalizada com endHash.
AlgId | Algoritmo de hash |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Atualiza uma operação de HASH com mais dados.
Data | Mensagem |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Finaliza uma operação de HASH.
DinamoException | Lança exceção em caso de erro. |
|
inline |
Encontra o hash para um dado e o associa ao handle de hash.
hHash | IntPtr Ponteiro para o recurso de hash |
byData | Dado em bytes |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Retorna o hash de um dado.
alg | Algoritmo de hash |
data | Dado em bytes |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Libera o handle do recurso de hash.
hHash | IntPtr Ponteiro para o recurso de hash |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Envia um lote de blocos para assinatura no HSM.
strKeyId | Nome da chave. |
pbBlock | Array de bytes contendo os blocos que serão assinados concatenados e com os devidos paddings feitos. Adicionar no início deste array de blocos o padding zero de tamanho DN_BATCH_SIGN_BLOCK_HEADER. A estrutura deverá ser como a seguinte. Padding zero de tamanho DN_BATCH_SIGN_BLOCK_HEADER | BLOCO 1 | BLOCO 2 | BLOCO 3 | ... Os blocos assinados serão retornados nas mesmas posições dos blocos de entrada. |
dwBlockCount | Quantidade de blocos contidos em pbBlock. |
dwFlags | Reservado para uso futuro (deve ser 0). |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Envia um lote de blocos para assinatura no HSM.
hPrivateKey | Contexto da chave. |
pbBlock | Array de bytes contendo os blocos que serão assinados concatenados e com os devidos paddings feitos. Adicionar no início deste array de blocos o padding zero de tamanho DN_BATCH_SIGN_BLOCK_HEADER. A estrutura deverá ser como a seguinte. Padding zero de tamanho DN_BATCH_SIGN_BLOCK_HEADER | BLOCO 1 | BLOCO 2 | BLOCO 3 | ... Os blocos assinados serão retornados nas mesmas posições dos blocos de entrada. |
dwBlockCount | Quantidade de blocos contidos em pbBlock. |
dwFlags | Reservado para uso futuro (deve ser 0). |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Assina um hash.
keyId | Identificador da chave privada |
bHash | Array com o hash |
algHash | Algoritmo de hash utilizado. Veja: HASH_ALG |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Assina um hash.
keyId | Identificador da chave privada | ||||||||
bHash | Array com o hash | ||||||||
algHash | Algoritmo de hash utilizado. Veja: HASH_ALG | ||||||||
dwFlags | Opções de assinatura, pode ser 0 ou ou mais de um dos valores abaixo:
|
DinamoException | Lança exceção em caso de erro. |
|
inline |
|
inline |
Assina um hash.
hHash | Ponteiro para o recurso de hash |
hPrivateKey | Ponteiro para a chave privada |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Assina um hash.
hHash | Ponteiro para o recurso de hash | ||||||||
hPrivateKey | Ponteiro para a chave privada | ||||||||
dwFlags | Opções de assinatura, pode ser 0 ou ou mais de um dos valores abaixo:
|
DinamoException | Lança exceção em caso de erro. |
|
inline |
Verifica uma assinatura.
hHash | Ponteiro para o recurso de hash |
hPublicKey | Ponteiro para o recurso da chave pública |
bySignature | Array da assinatura |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Armazena um hash.
hHash | Ponteiro para o recurso de hash |
Value | Valor do hash |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Retorna o valor do hash.
hHash | Ponteiro para o recurso de hash |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Retorna um número aleatório do gerador do HSM.
dwReturnLen | Tamanho em bytes do número aleatório |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Faz a divisão M de N de um segredo. De acordo com o padrão de compartilhamento de segredos de Shamir.
bM | Número mínimo de partes necessárias para reconstruir o segredo. Mínimo de DinamoApi.DN_M_OF_N_S_MIN e máximo de DinamoApi.DN_M_OF_N_S_MAX. |
bN | Número total de partes que serão geradas. |
pbSecret | Segredo a ser dividido. Deve ter tamanho DinamoApi.DN_M_OF_N_S_LEN. Pode ser passado null para que um segredo seja gerado randomicamente pelo HSM. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Reconstrói o segredo M de N a partir das partes dos custodiantes. De acordo com o padrão de compartilhamento de segredos de Shamir.
parts | Array de partes do segredo. |
DinamoException | Lança exceção em caso de erro. |