Gerência do ciclo de vida de chaves criptográficas no HSM.
Consulte a documentação técnica do HSM.
Funções | |
byte[] | getUserKey (String strKeyName, int nFlags) throws TacException |
Recupera o contexto de uma chave, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM. | |
byte[] | getUserKey (String strKeyName) throws TacException |
Recupera o contexto de uma chave, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM. | |
byte[] | getUserKeyOffline (String strKeyName, int algId, boolean isTemporary, boolean isExportable) throws TacException |
Recupera o contexto de uma chave, sem verificação das informações passadas, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM. | |
void | deleteKey (String keyId) throws TacException |
Apaga a chave. | |
void | deleteKeyIfExists (String keyId) throws TacException |
Apaga a chave se ela existir. | |
byte[] | createKeyMaterial (int keyAlg) throws TacException |
Cria uma nova chave criptográfica e retorna o seu conteúdo sem persistir no HSM. | |
void | createKey (String keyId, int keyAlg, boolean exportable) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM. | |
void | createKey (String keyId, int keyAlg) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM. | |
void | createKey (String keyId, int keyAlg, int dwFlags) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM. | |
byte[] | exportKey (String szKey, int dwBlobType) throws TacException |
Exporta uma chave do HSM para a máquina local. | |
byte[] | exportKey (String szKey, byte[] hKEKey, int dwBlobType) throws TacException |
Exporta uma chave do HSM para a máquina local. | |
byte[] | exportKey (byte[] hKey, byte[] hKEKey, int dwBlobType) throws TacException |
Exporta uma chave do HSM para a máquina local. | |
void | importKey (String szKey, int dwBlobType, int nAlgId, byte[] pbInData, boolean isExportable) throws TacException |
Importa uma chave da máquina local para o HSM. | |
void | importKey (String szKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, int dwInDataLen) throws TacException |
Importa uma chave da máquina local para o HSM. | |
void | importKey (String szKey, byte[] hKEKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, byte[] hKey) throws TacException |
Importa uma chave da máquina local para o HSM. | |
byte[] | importKey (String szKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData) throws TacException |
Importa uma chave da máquina local para o HSM. | |
void | importKey (String szKey, byte[] hKEKey, int dwBlobType, int nAlgId, int dwFlags, byte[] pbInData, int dwInDataLen, byte[] hKey) throws TacException |
Importa uma chave da máquina local para o HSM. | |
void | PKCS12Import (String szPathFile, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM. | |
void | importPKCS12 (String szPathFile, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM. | |
void | importPKCS12 (byte[] pbPkcs12, String szPassword, String szKey, String szCert, boolean isExportable) throws TacException |
Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM. | |
void | importPKCS12 (byte[] pbPkcs12, String szPassword, String szKey, int nKeyAttr, String szCert, String szPubKey, int nReserved) throws TacException |
Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM. | |
byte[] | exportPKCS12 (String password, String key, String cert, String strReserved, int dwFlags) throws TacException |
Exporta uma chave e um certificado do HSM no formato PKCS#12. | |
byte[] | exportPKCS12 (String password, String key, String cert) throws TacException |
Exporta uma chave e um certificado do HSM no formato PKCS#12. | |
byte[] | PKCS8ExportKey (String szKeyId, String szSecret) throws TacException |
Exporta uma chave assimétrica em um arquivo no formato PKCS#8 para o HSM. | |
void | PKCS8ImportKey (String szKeyId, String szSecret, int dwKeyAlg, byte[] bKeyEnvelope, boolean isExportable) throws TacException |
Importa uma chave assimétrica de um arquivo no formato PKCS#8 para o HSM. | |
int | getAlgId (byte[] ctxKey) throws TacException |
Recupera o algoritmo da chave. | |
int | getAlgId (String keyId) throws TacException |
Recupera qual o algoritmo da chave. | |
byte[] | readObject (String szObject) throws TacException |
Exporta um objeto do HSM para a máquina local. | |
void | writeObject (String szObject, byte[] jbObjectData) throws TacException |
Importa um objeto da máquina local para o HSM. | |
byte[] | getKeyHandle (String keyId) throws TacException |
Recupera um handle de chave. | |
void | releaseKeyHandle (byte[] keyHandle) throws TacException |
Libera um handle de chave. | |
boolean | isKeyExportable (byte[] keyHandle) throws TacException |
Verifica se a chave é exportável. | |
boolean | isKeyExportable (String keyId) throws TacException |
Verifica se a chave é exportável. | |
void | setObjLabel (String objId, String label) throws TacException |
Define o atributo label do metadado do objeto. | |
void | createMap (String mapId, String objId1, int objId1Alg, String objId2, int objId2Alg) throws TacException |
Cria um objeto de mapeamento(MAP) dentro do HSM. | |
String[] | listObjects () throws TacException |
Lista os objetos do HSM. | |
byte[] getUserKey | ( | String | strKeyName, |
int | nFlags ) throws TacException |
Recupera o contexto de uma chave, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM.
Essa função não cria uma nova chave.
strKeyName | Identificador da chave no HSM. |
nFlags |
TacException | Exceção para erros na recuperação do contexto da chave. |
byte[] getUserKey | ( | String | strKeyName | ) | throws TacException |
Recupera o contexto de uma chave, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM.
Essa função Não cria uma nova chave.
strKeyName | Identificador da chave no HSM. |
TacException | Exceção para erros na recuperação do contexto da chave. |
byte[] getUserKeyOffline | ( | String | strKeyName, |
int | algId, | ||
boolean | isTemporary, | ||
boolean | isExportable ) throws TacException |
Recupera o contexto de uma chave, sem verificação das informações passadas, desde que o Usuário corrente tenha acesso, armazenada dentro do HSM.
Essa função não cria uma nova chave.
strKeyName | Identificador da chave no HSM. |
algId | Algoritmo da chave. |
isTemporary | Informa se a chave é temporária. |
isExportable | Informa se a chave é exportável. |
TacException | Exceção para erros na recuperação do contexto da chave. |
void deleteKey | ( | String | keyId | ) | throws TacException |
Apaga a chave.
keyId | Identificador da chave |
TacException |
void deleteKeyIfExists | ( | String | keyId | ) | throws TacException |
Apaga a chave se ela existir.
Não retorna erro caso não exista.
keyId | Identificador da chave |
TacException |
byte[] createKeyMaterial | ( | int | keyAlg | ) | throws TacException |
Cria uma nova chave criptográfica e retorna o seu conteúdo sem persistir no HSM.
keyAlg | Algoritmo a ser utilizado: Chaves Simétricas
|
Exception |
void createKey | ( | String | keyId, |
int | keyAlg, | ||
boolean | exportable ) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM.
A chave gerada será exportável.
keyId | Identificador da chave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo a ser utilizado: Chaves Simétricas
Chaves Assimétricas RSA
Chaves Assimétricas ECC
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
exportable | A chave poderá ser exportada do HSM, se definido como true. |
Exception |
void createKey | ( | String | keyId, |
int | keyAlg ) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM.
A chave gerada será exportável.
keyId | Identificador da chave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo a ser utilizado: Chaves Simétricas
Chaves Assimétricas RSA
Chaves Assimétricas ECC
|
Exception |
void createKey | ( | String | keyId, |
int | keyAlg, | ||
int | dwFlags ) throws TacException |
Cria e armazena uma chave criptográfica associada a um algoritmo de acordo com os parâmetros informados dentro do HSM.
keyId | Identificador da chave | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
keyAlg | Algoritmo a ser utilizado: Chaves Simétricas
Chaves Assimétricas RSA
Chaves Assimétricas ECC
Chaves Assimétricas ECX
Chaves HMAC
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dwFlags | Parâmetros adicionais da chave.
Além dos valores da tabela anterior é possível adicionar uma definição de perfil de uso de chave. É possível definir o perfil de uso da chave (Attribute Usage-profile), utilizando apenas um dos valores abaixo. Se nenhum dos valores abaixo for especificado o perfil dachave é definido como livre para qualquer uso. É obrigatório a definição do perfil de uso quando o HSM estiver em modo RM3.
|
Exception |
byte[] exportKey | ( | String | szKey, |
int | dwBlobType ) throws TacException |
Exporta uma chave do HSM para a máquina local.
szKey | Nome da chave a ser exportada. |
dwBlobType | Formato do buffer de saída. Veja importKey para lista de tipos suportados. |
TacException |
byte[] exportKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType ) throws TacException |
Exporta uma chave do HSM para a máquina local.
szKey | Nome da chave a ser exportada. |
hKEKey | Contexto da chave com a qual o bloco da chave será cifrado - KEK (key encryption key). |
dwBlobType | Formato do buffer de saída. Veja importKey para lista de tipos suportados. |
TacException |
byte[] exportKey | ( | byte[] | hKey, |
byte[] | hKEKey, | ||
int | dwBlobType ) throws TacException |
Exporta uma chave do HSM para a máquina local.
hKey | Contexto da chave a ser exportada. |
hKEKey | Contexto da chave com a qual o bloco da chave será cifrado - KEK (key encryption key). |
dwBlobType | Formato do buffer de saída. Veja importKey para lista de tipos suportados. |
TacException |
void importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
byte[] | pbInData, | ||
boolean | isExportable ) throws TacException |
Importa uma chave da máquina local para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. | ||||||||||||||||||||||||||||||
dwBlobType | Formato do buffer de saída.
Tabela de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||
nAlgId | Algoritmo da chave importada. Ver createKey. | ||||||||||||||||||||||||||||||
isExportable | Sinaliza que a chave importada será exportável. | ||||||||||||||||||||||||||||||
pbInData | Buffer contendo a chave a ser importada, de acordo com o especificado com o passado em dwBlobType. |
TacException |
void importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
int | dwInDataLen ) throws TacException |
Importa uma chave da máquina local para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. | ||||||||||||||||||||||||||||
dwBlobType | Formato do buffer de saída.
Tabela de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||
nAlgId | Algoritmo da chave importada. Ver createKey. | ||||||||||||||||||||||||||||
dwFlags | Parâmetros adicionais de chave. Ver createKey. | ||||||||||||||||||||||||||||
pbInData | Buffer contendo a chave a ser importada, de acordo com o especificado com o passado em dwBlobType. | ||||||||||||||||||||||||||||
dwInDataLen | Tamanho do buffer pbInData a ser importado. |
TacException |
void importKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
byte[] | hKey ) throws TacException |
Importa uma chave da máquina local para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. | ||||||||||||||||||||||||||||||||
hKEKey | Contexto da chave com a qual o blob da chave a ser importada está cifrada - KEK (key encryption key) | ||||||||||||||||||||||||||||||||
dwBlobType | Formato do buffer de saída.
Tabela de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo da chave importada. Ver createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parâmetros adicionais de chave. Ver createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer contendo a chave a ser importada, de acordo com o especificado com o passado em dwBlobType. | ||||||||||||||||||||||||||||||||
hKey | Contexto da chave importada. |
TacException |
byte[] importKey | ( | String | szKey, |
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData ) throws TacException |
Importa uma chave da máquina local para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. | ||||||||||||||||||||||||||||||||
dwBlobType | Formato do buffer de saída.
Tabela de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo da chave importada. Ver createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parâmetros adicionais de chave. Ver createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer contendo a chave a ser importada, de acordo com o especificado com o passado em dwBlobType. |
TacException |
void importKey | ( | String | szKey, |
byte[] | hKEKey, | ||
int | dwBlobType, | ||
int | nAlgId, | ||
int | dwFlags, | ||
byte[] | pbInData, | ||
int | dwInDataLen, | ||
byte[] | hKey ) throws TacException |
Importa uma chave da máquina local para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. | ||||||||||||||||||||||||||||||||
hKEKey | Contexto da chave com a qual o blob da chave a ser importada está cifrada - KEK (key encryption key) | ||||||||||||||||||||||||||||||||
dwBlobType | Formato do buffer de saída.
Tabela de TacNDJavaLib.PUBLICKEY_BLOB_HSM.
| ||||||||||||||||||||||||||||||||
nAlgId | Algoritmo da chave importada. Ver createKey. | ||||||||||||||||||||||||||||||||
dwFlags | Parâmetros adicionais de chave. Ver createKey. | ||||||||||||||||||||||||||||||||
pbInData | Buffer contendo a chave a ser importada, de acordo com o especificado com o passado em dwBlobType. | ||||||||||||||||||||||||||||||||
dwInDataLen | Tamanho do buffer pbInData a ser importado. | ||||||||||||||||||||||||||||||||
hKey | Contexto da chave importada. |
TacException |
void PKCS12Import | ( | String | szPathFile, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM.
szKey | Nome que a chave importada terá dentro do HSM. |
szPathFile | Localização do arquivo físico PFX a ser importado. |
szPassword | Senha para abertura do arquivo PFX. |
szCert | Nome que o certificado importado terá dentro do HSM. |
isExportable | Importa a chave de forma exportável. |
TacException |
void importPKCS12 | ( | String | szPathFile, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM.
szPathFile | Localização do arquivo físico PFX a ser importado. |
szPassword | Senha para abertura do arquivo PFX. |
szKey | Nome que a chave importada terá dentro do HSM. |
szCert | Nome que o certificado importado terá dentro do HSM. |
isExportable | Importa a chave de forma exportável. |
TacException |
void importPKCS12 | ( | byte[] | pbPkcs12, |
String | szPassword, | ||
String | szKey, | ||
String | szCert, | ||
boolean | isExportable ) throws TacException |
Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.
pbPkcs12 | PKCS#12. |
szPassword | Senha do PKCS#12. |
szKey | Nome que a chave importada terá dentro do HSM. |
szCert | Nome que o certificado importado terá dentro do HSM. |
isExportable | Importa a chave privada de forma exportável. |
TacException |
void importPKCS12 | ( | byte[] | pbPkcs12, |
String | szPassword, | ||
String | szKey, | ||
int | nKeyAttr, | ||
String | szCert, | ||
String | szPubKey, | ||
int | nReserved ) throws TacException |
Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.
pbPkcs12 | PKCS#12. |
szPassword | Senha do PKCS#12. |
szKey | Nome que a chave importada terá dentro do HSM. |
nKeyAttr | Atributos da chave que será importada no HSM. Ver possíveis opções no parâmetro dwFlags em Dinamo.createKey(). |
szCert | Nome que o certificado importado terá dentro do HSM. |
szPubKey | Nome que a chave pública importada terá dentro do HSM. Pode ser null para não importar o objeto de chave pública. |
nReserved | Reservado para uso futuro. Deve ser 0. |
TacException |
byte[] exportPKCS12 | ( | String | password, |
String | key, | ||
String | cert, | ||
String | strReserved, | ||
int | dwFlags ) throws TacException |
Exporta uma chave e um certificado do HSM no formato PKCS#12.
password | Senha para proteção do PFX. | ||||
key | Nome da chave que será exportada para o PFX. | ||||
cert | Nome do certificado que será exportado para o PFX. | ||||
strReserved | Reservado para uso futuro. | ||||
dwFlags | Passar 0 ou uma das opções da tabela abaixo.
|
TacException |
byte[] exportPKCS12 | ( | String | password, |
String | key, | ||
String | cert ) throws TacException |
Exporta uma chave e um certificado do HSM no formato PKCS#12.
password | Senha para proteção do PFX. |
key | Nome da chave que será exportada para o PFX. |
cert | Nome do certificado que será exportado para o PFX. |
TacException |
byte[] PKCS8ExportKey | ( | String | szKeyId, |
String | szSecret ) throws TacException |
Exporta uma chave assimétrica em um arquivo no formato PKCS#8 para o HSM.
szKeyId | Identificação da chave. |
szSecret | Senha do arquivo PKCS#8 (deve ser maior que 16 caracteres). |
TacException |
void PKCS8ImportKey | ( | String | szKeyId, |
String | szSecret, | ||
int | dwKeyAlg, | ||
byte[] | bKeyEnvelope, | ||
boolean | isExportable ) throws TacException |
Importa uma chave assimétrica de um arquivo no formato PKCS#8 para o HSM.
szKeyId | Identificação da chave. | ||||||||||||||||
szSecret | Senha do arquivo PKCS#8 (deve ser maior que 16 caracteres). | ||||||||||||||||
dwKeyAlg | Identificador do algoritmo da chave. Chaves Assimétricas RSA
| ||||||||||||||||
bKeyEnvelope | Binário do arquivo formato PKCS#8 | ||||||||||||||||
isExportable | Importa a chave de forma exportável. |
TacException |
int getAlgId | ( | byte[] | ctxKey | ) | throws TacException |
Recupera o algoritmo da chave.
ctxKey | Handle da chave, recuperado por getKeyHandle(). |
TacException |
int getAlgId | ( | String | keyId | ) | throws TacException |
Recupera qual o algoritmo da chave.
keyId | Identificador da chave |
TacException |
byte[] readObject | ( | String | szObject | ) | throws TacException |
Exporta um objeto do HSM para a máquina local.
szObject | Nome do objeto a ser exportado. |
TacException |
void writeObject | ( | String | szObject, |
byte[] | jbObjectData ) throws TacException |
Importa um objeto da máquina local para o HSM.
szObject | Nome do objeto a ser importado. |
jbObjectData | Dados do objeto que será importado. |
TacException |
byte[] getKeyHandle | ( | String | keyId | ) | throws TacException |
Recupera um handle de chave.
Deve ser liberado com o método releaseKey().
keyId | Identificador da chave no formato texto |
TacException |
void releaseKeyHandle | ( | byte[] | keyHandle | ) | throws TacException |
Libera um handle de chave.
keyHandle | Handle da chave recuperada por getKeyHandle(). |
TacException |
boolean isKeyExportable | ( | byte[] | keyHandle | ) | throws TacException |
Verifica se a chave é exportável.
keyHandle | Handle da chave recuperado por getKeyHandle(). |
TacException |
boolean isKeyExportable | ( | String | keyId | ) | throws TacException |
Verifica se a chave é exportável.
keyId | Identificador da chave. |
TacException |
void setObjLabel | ( | String | objId, |
String | label ) throws TacException |
Define o atributo label do metadado do objeto.
objId | Identificador do objeto |
label | Label |
TacException |
void createMap | ( | String | mapId, |
String | objId1, | ||
int | objId1Alg, | ||
String | objId2, | ||
int | objId2Alg ) throws TacException |
Cria um objeto de mapeamento(MAP) dentro do HSM.
mapId | Identificador do objeto MAP. |
objId1 | Identificador do objeto apontado pelo primeiro slot do MAP. |
objId1Alg | Algoritmo do objeto indicado por objId1Alg. Pode ser qualquer tipo de objeto(ver createKey) ou TacNDJavaLib.ALG_OBJ_NULL. |
objId2 | Identificador do objeto apontado pelo segundo slot do MAP. |
objId2Alg | Algoritmo do objeto indicado por objId2Alg. Pode ser qualquer tipo de objeto(ver createKey) ou TacNDJavaLib.ALG_OBJ_NULL. |
Exception |
String[] listObjects | ( | ) | throws TacException |
Lista os objetos do HSM.
TacException |