API .NET
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
Chaves

Descrição detalhada

Gerência do ciclo de vida de chaves criptográficas no HSM.

Consulte a documentação técnica do HSM.

Funções

IntPtr GenerateKey (string KeyId, DinamoClient.KEY_ALG Alg, bool Exportable)
 Gera uma chave permanente no HSM.
 
IntPtr GenerateKey (string KeyId, DinamoClient.KEY_ALG Alg, bool Exportable, bool Temporary)
 Gera chave.
 
IntPtr GetUserKey (string KeyId)
 Retorna Handler de uma chave (deve ser chamada a DestroyUserKey apos a alocacao).
 
void DestroyKey (IntPtr hKey)
 Libera handle de chave.
 
int GetKeyAlgId (string strKeyId)
 Retorna o algoritmo de uma chave.
 
int GetKeyAlgId (IntPtr hKey)
 Retorna o tipo de uma chave.
 
int GetKeyPadding (IntPtr hKey)
 Retorna o tipo de padding de uma chave.
 
int GetUserKeyLen (string KeyId)
 Retorna o tamanho de uma chave.
 
int GetUserKeyLen (IntPtr hKey)
 Retorna o tamanho de uma chave.
 
bool IsKeyExist (string KeyId)
 
bool HasObject (string Id)
 Verifica a existência de um objeto.
 
void GetMapInfo (string ObjectId, ref string Obj1Id, ref string Obj2Id)
 Recupera a informacao de mapa (compatibilidade retroativa)
 
void GetMapInfo (string ObjectId, ref string Obj1Id, ref int Obj1TypeId, ref string Obj2Id, ref int Obj2TypeId)
 Recupera a informacao de mapa.
 
List< CertAssociationListCertAssociations (bool onlyWithAssociation=false)
 Lista os certificados e suas chaves privadas associadas.
 
bool IsKeyReadLock (string KeyId)
 Testa se a chave e exportavel.
 
bool IsKeyReadLock (IntPtr hKey)
 Testa se a chave e exportavel.
 
bool IsKeyEncrypted (string KeyId)
 Testa se a chave esta encriptada.
 
bool IsKeyEncrypted (IntPtr hKey)
 Testa se a chave esta encriptada.
 
void BlockObject (string szObjectName, bool bBlock)
 Altera o estado de bloqueio de um objeto.
 
bool IsObjectBlocked (string szObjectName)
 Recupera o estado de bloqueio de um objeto.
 
void GenerateMap (string MapId, string Obj1Id, ALG Obj1Type, string Obj2Id, ALG Obj2Type)
 
void RemoveObject (string ObjectId)
 Remove um objeto do HSM.
 
void RemoveObjectIfExists (string ObjectId)
 Remove um objeto do HSM, se existir.
 
string[] ListObjects ()
 Lista os objetos do usuário corrente do HSM.
 
Int32 ListCallback (string szName, ref DinamoApi.DBLOB pParam, Int32 bFinal)
 
string[] ListObjects (ALG type)
 
byte[] ReadFile (string FileId)
 
Int32 WriteLocalFileCallback (IntPtr pbData, Int32 cbData, ref DinamoApi.DBLOB_FILE pParam, Int32 bFinal)
 
void WriteFile (string FileId, byte[] byFileData)
 Importa objetos para o HSM. Certificados, PKCS#7, Chaves.
 
Int32 ReadLocalFileCallback (IntPtr pbData, ref Int32 pcbData, IntPtr pParam, out Int32 pbFinal)
 
byte[] ExportKey (IntPtr hKey, IntPtr hKeyEncryptionKey, BLOB_TYPE BlobType)
 
IntPtr ImportKey (string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId)
 
IntPtr ImportKey (string KeyId, IntPtr hKeyEncryptionKey, byte[] byKeyBlob, BLOB_TYPE BlobType, KEY_ALG AlgId, bool Exportable, bool Temporary)
 
void ImportPKCS12File (string FilePath, string Password, string KeyId, string CertId, bool Exportable)
 Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM.
 
Int32 ImportPKCS12 (string FilePath, string Password, string KeyId, string CertId, bool Exportable)
 
void ImportPKCS12 (byte[] Pkcs12, string Password, string KeyId, string CertId, bool Exportable)
 Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.
 
void ImportPKCS12 (byte[] Pkcs12, string Password, string KeyId, Int32 KeyAttr, string CertId, string PubKeyId, Int32 Reserved)
 Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.
 
byte[] PKCS8ExportKey (string szKeyId, string szSecret)
 
byte[] SPBExportPKCS12 (string szISPB, string szSecret)
 
byte[] ExportPKCS12 (string KeyId, string CertId, string Secret)
 Exporta uma chave e um certificado do HSM no formato PKCS#12.
 
byte[] ExportPKCS12 (string KeyId, string CertId, string Secret, Int32 Flags)
 Exporta uma chave e um certificado do HSM no formato PKCS#12.
 
void PKCS8ImportKey (string szKeyId, string szSecret, int dwKeyAlg, int dwAttrib, byte[] bKeyEnvelope)
 
void SPBImportPKCS12 (string szKeyId, string szSecret, string szDomain, int dwKeyAlg, int dwAttrib, string file)
 

Funções

◆ GenerateKey() [1/2]

IntPtr GenerateKey ( string KeyId,
DinamoClient.KEY_ALG Alg,
bool Exportable )
inline

Gera uma chave permanente no HSM.

Parâmetros
KeyIdIdentificador da chave. Este identificador não deve conter espaços ou caracteres especiais. Caracteres maiúsculos e minúsculos são diferenciados (case-sensitive). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
AlgAlgoritmo a ser utilizado. Dinamo.Hsm.DinamoClient.KEY_ALG
ExportableFlag indicador de geração de uma chave exportável.
Retorna
Handle para o objeto chave gerado.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
block_object.cs, dukpt.cs, generate_hmac.cs, oath.cs e rsa_enc_dec.cs.

◆ GenerateKey() [2/2]

IntPtr GenerateKey ( string KeyId,
DinamoClient.KEY_ALG Alg,
bool Exportable,
bool Temporary )
inline

Gera chave.

Parâmetros
KeyIdIdentificador da chave. Este identificador não deve conter espaços ou caracteres especiais. Caracteres maiúsculos e minúsculos são diferenciados (case-sensitive). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
AlgAlgoritmo da chave. Dinamo.Hsm.DinamoClient.KEY_ALG
ExportableFlag para gerar a chave exportável.
TemporaryFlag para gerar chave temporária. Essa chave tem o ciclo de vida enquanto durar a sessão.
Retorna
Handle da chave.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetUserKey()

IntPtr GetUserKey ( string KeyId)
inline

Retorna Handler de uma chave (deve ser chamada a DestroyUserKey apos a alocacao).

Parâmetros
KeyIdIdentificador da chave
Retorna
Handle do objeto Usuário
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ DestroyKey()

void DestroyKey ( IntPtr hKey)
inline

Libera handle de chave.

Parâmetros
hKeyHandle da chave.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
block_object.cs, eft_gen_pin.cs, eft_gen_verify_cvv.cs, eft_verify_pinblock.cs e rsa_enc_dec.cs.

◆ GetKeyAlgId() [1/2]

int GetKeyAlgId ( string strKeyId)
inline

Retorna o algoritmo de uma chave.

Parâmetros
strKeyIdNome do usuário
Retorna
Idenfificador do algoritmo.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetKeyAlgId() [2/2]

int GetKeyAlgId ( IntPtr hKey)
inline

Retorna o tipo de uma chave.

Parâmetros
hKeyHandle da chave
Retorna
Tipo da chave
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetKeyPadding()

int GetKeyPadding ( IntPtr hKey)
inline

Retorna o tipo de padding de uma chave.

Parâmetros
hKeyHandle da chave
Retorna
Tipo do padding da chave
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetUserKeyLen() [1/2]

int GetUserKeyLen ( string KeyId)
inline

Retorna o tamanho de uma chave.

Parâmetros
KeyIdIdentificacao da chave
Retorna
Tamanho da chave em bits
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetUserKeyLen() [2/2]

int GetUserKeyLen ( IntPtr hKey)
inline

Retorna o tamanho de uma chave.

Parâmetros
hKeyHandle da chave
Retorna
Tamanho da chave em bits
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ IsKeyExist()

bool IsKeyExist ( string KeyId)
inline
Obsoleto(a)
Esta API está descontinuada. Por favor, usar hasObject().
Exemplos
oath.cs.

◆ HasObject()

bool HasObject ( string Id)
inline

Verifica a existência de um objeto.

Parâmetros
IdIdentificador do objeto no HSM.
Retorna
Verdadeiro se o objeto existir
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetMapInfo() [1/2]

void GetMapInfo ( string ObjectId,
ref string Obj1Id,
ref string Obj2Id )
inline

Recupera a informacao de mapa (compatibilidade retroativa)

Parâmetros
ObjectIdNome do mapa
Obj1IdNome do objeto no primeiro slot
Obj2IdNome do objeto no segundo slot
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ GetMapInfo() [2/2]

void GetMapInfo ( string ObjectId,
ref string Obj1Id,
ref int Obj1TypeId,
ref string Obj2Id,
ref int Obj2TypeId )
inline

Recupera a informacao de mapa.

Parâmetros
ObjectIdNome do mapa
Obj1IdNome do objeto no primeiro slot
Obj1TypeIdTipo do objeto no primeiro slot
Obj2IdNome do objeto no segundo slot
Obj2TypeIdTipo do objeto no segundo slot
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ ListCertAssociations()

List< CertAssociation > ListCertAssociations ( bool onlyWithAssociation = false)
inline

Lista os certificados e suas chaves privadas associadas.

Parâmetros
onlyWithAssociationTrue se desejar apenas os certificados que possuam chaves associadas
Retorna
Retorna uma lista de associações de certificados com as suas respectivas chaves privadas.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
list_association.cs.

◆ IsKeyReadLock() [1/2]

bool IsKeyReadLock ( string KeyId)
inline

Testa se a chave e exportavel.

Parâmetros
KeyIdNome da chave
Retorna
True se a chave for exportavel
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ IsKeyReadLock() [2/2]

bool IsKeyReadLock ( IntPtr hKey)
inline

Testa se a chave e exportavel.

Parâmetros
hKeyHandle da chave
Retorna
True se a chave for exportavel
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ IsKeyEncrypted() [1/2]

bool IsKeyEncrypted ( string KeyId)
inline

Testa se a chave esta encriptada.

Parâmetros
KeyIdNome da chave
Retorna
True se a chave estiver encriptada
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ IsKeyEncrypted() [2/2]

bool IsKeyEncrypted ( IntPtr hKey)
inline

Testa se a chave esta encriptada.

Parâmetros
hKeyHandle da chave
Retorna
True se a chave estiver encriptada
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ BlockObject()

void BlockObject ( string szObjectName,
bool bBlock )
inline

Altera o estado de bloqueio de um objeto.

Parâmetros
szObjectNameNome do objeto
bBlocktrue para bloqueado e false para desbloqueado
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
block_object.cs.

◆ IsObjectBlocked()

bool IsObjectBlocked ( string szObjectName)
inline

Recupera o estado de bloqueio de um objeto.

Parâmetros
szObjectNameNome do objeto
Retorna
true se bloqueado e false se desbloqueado.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
block_object.cs.

◆ GenerateMap()

void GenerateMap ( string MapId,
string Obj1Id,
ALG Obj1Type,
string Obj2Id,
ALG Obj2Type )
inline

◆ RemoveObject()

void RemoveObject ( string ObjectId)
inline

Remove um objeto do HSM.

Parâmetros
ObjectIdNome do objeto
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
block_object.cs, dukpt.cs, eft_gen_pin.cs, eft_gen_verify_cvv.cs, eft_verify_pinblock.cs, generate_hmac.cs, generate_hmac_lau.cs e rsa_enc_dec.cs.

◆ RemoveObjectIfExists()

void RemoveObjectIfExists ( string ObjectId)
inline

Remove um objeto do HSM, se existir.

Parâmetros
ObjectIdNome do objeto
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_ckd.cs, bchain_eddsa_sign.cs, bchain_get_address.cs, bchain_get_pub.cs e bchain_sign_hash.cs.

◆ ListObjects() [1/2]

string[] ListObjects ( )
inline

Lista os objetos do usuário corrente do HSM.

Retorna
Array contento os nomes de objetos.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ ListCallback()

Int32 ListCallback ( string szName,
ref DinamoApi.DBLOB pParam,
Int32 bFinal )
inline

◆ ListObjects() [2/2]

string[] ListObjects ( ALG type)
inline

◆ ReadFile()

byte[] ReadFile ( string FileId)
inline
Exemplos
read_file.cs.

◆ WriteLocalFileCallback()

Int32 WriteLocalFileCallback ( IntPtr pbData,
Int32 cbData,
ref DinamoApi.DBLOB_FILE pParam,
Int32 bFinal )
inline

◆ WriteFile()

void WriteFile ( string FileId,
byte[] byFileData )
inline

Importa objetos para o HSM. Certificados, PKCS#7, Chaves.

Parâmetros
FileIdIdentificador da chave. Este identificador não deve conter espaços ou caracteres especiais. Caracteres maiúsculos e minúsculos são diferenciados (case-sensitive). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
byFileDataobjeto no
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ ReadLocalFileCallback()

Int32 ReadLocalFileCallback ( IntPtr pbData,
ref Int32 pcbData,
IntPtr pParam,
out Int32 pbFinal )
inline

◆ ExportKey()

byte[] ExportKey ( IntPtr hKey,
IntPtr hKeyEncryptionKey,
BLOB_TYPE BlobType )
inline
Exemplos
rsa_enc_dec.cs.

◆ ImportKey() [1/2]

IntPtr ImportKey ( string KeyId,
IntPtr hKeyEncryptionKey,
byte[] byKeyBlob,
BLOB_TYPE BlobType,
KEY_ALG AlgId )
inline

◆ ImportKey() [2/2]

IntPtr ImportKey ( string KeyId,
IntPtr hKeyEncryptionKey,
byte[] byKeyBlob,
BLOB_TYPE BlobType,
KEY_ALG AlgId,
bool Exportable,
bool Temporary )
inline

◆ ImportPKCS12File()

void ImportPKCS12File ( string FilePath,
string Password,
string KeyId,
string CertId,
bool Exportable )
inline

Importa uma chave/certificado de um arquivo no formato PKCS#12 para o HSM.

Parâmetros
FilePathLocalização do arquivo físico PFX a ser importado.
PasswordSenha para abertura do arquivo PFX.
KeyIdNome que a chave importada terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
CertIdNome que o certificado importado terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
ExportableImporta a chave de forma exportável.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ ImportPKCS12() [1/3]

Int32 ImportPKCS12 ( string FilePath,
string Password,
string KeyId,
string CertId,
bool Exportable )
inline
Obsoleto(a)
Esta API está descontinuada. Por favor, usar ImportPKCS12File().
Exemplos
import_export_pkcs12.cs.

◆ ImportPKCS12() [2/3]

void ImportPKCS12 ( byte[] Pkcs12,
string Password,
string KeyId,
string CertId,
bool Exportable )
inline

Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.

Parâmetros
Pkcs12PKCS#12.
PasswordSenha do PKCS#12.
KeyIdNome que a chave importada terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
CertIdNome que o certificado importado terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
ExportableImporta a chave de forma exportável.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ ImportPKCS12() [3/3]

void ImportPKCS12 ( byte[] Pkcs12,
string Password,
string KeyId,
Int32 KeyAttr,
string CertId,
string PubKeyId,
Int32 Reserved )
inline

Importa uma chave/certificado de um buffer no formato PKCS#12 para o HSM.

Parâmetros
Pkcs12PKCS#12.
PasswordSenha do PKCS#12.
KeyIdNome que a chave importada terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
KeyAttrAtributos da chave que será importada no HSM. Parâmetros adicionais da chave.
Valor Significado
DinamoAPI.EXPORTABLE_KEY A chave poderá ser exportada do HSM.
CertIdNome que o certificado importado terá 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). Um identificador de objeto no HSM pode ter tamanho máximo, em caracteres, de DinamoApi.MAX_OBJ_NAME_LEN. Quando está criando chaves na partição de outro usuário (é necessária permissão) o nome deve ser qualificado por inteiro com um FQN (Full Qualified Name: partition_id/obj_id), o tamanho máximo para um FQN é DinamoApi.MAX_OBJ_ID_FQN_LEN-1.
PubKeyIdNome que a chave pública importada terá dentro do HSM. Pode ser null para não importar o objeto de chave pública.
ReservedReservado para uso futuro. Deve ser 0.
Exceções
DinamoException

◆ PKCS8ExportKey()

byte[] PKCS8ExportKey ( string szKeyId,
string szSecret )
inline

◆ SPBExportPKCS12()

byte[] SPBExportPKCS12 ( string szISPB,
string szSecret )
inline

◆ ExportPKCS12() [1/2]

byte[] ExportPKCS12 ( string KeyId,
string CertId,
string Secret )
inline

Exporta uma chave e um certificado do HSM no formato PKCS#12.

Parâmetros
KeyIdNome da chave que será exportada.
CertIdNome do certificado que será exportado.
SecretSenha de proteção do PKCS#12.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
import_export_pkcs12.cs.

◆ ExportPKCS12() [2/2]

byte[] ExportPKCS12 ( string KeyId,
string CertId,
string Secret,
Int32 Flags )
inline

Exporta uma chave e um certificado do HSM no formato PKCS#12.

Parâmetros
KeyIdNome da chave que será exportada.
CertIdNome do certificado que será exportado.
SecretSenha de proteção do PKCS#12.
FlagsPassar 0 ou uma das opções da tabela abaixo.
Atributo Valor
DN_EXPORT_P12_LEGACY Exporta a chave e certificado e gera o arquivo PKCS#12 em software.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ PKCS8ImportKey()

void PKCS8ImportKey ( string szKeyId,
string szSecret,
int dwKeyAlg,
int dwAttrib,
byte[] bKeyEnvelope )
inline

◆ SPBImportPKCS12()

void SPBImportPKCS12 ( string szKeyId,
string szSecret,
string szDomain,
int dwKeyAlg,
int dwAttrib,
string file )
inline