Operações de suporte à segurança de estruturas baseadas em Blockchain.
Consulte a documentação técnica do HSM.
Funções | |
void | BchainCreateXPrvBtcMinikey (string szId, bool isExportable, bool isTemporary) |
Cria uma chave privada XPriv para Bitcoin no formato minikey. | |
void | BchainCreateXPrvBip32 (string szId, byte bVersion, bool isExportable, bool isTemporary) |
Cria uma chave privada XPriv no formato BIP32. | |
void | BchainCreateXPrvBip32Seed (string szId, DinamoApi.DN_BCHAIN_BIP32_SEED_XPRV_DATA pData, bool isExportable, bool isTemporary) |
Cria uma chave privada XPriv no formato BIP32 utilizando seed. | |
void | BchainCreateXPrvBip39Seed (string szId, DinamoApi.DN_BCHAIN_BIP39_SEED_XPRV_DATA pData, bool isExportable, bool isTemporary) |
Cria uma chave privada XPriv no formato BIP39 utilizando seed. | |
DinamoApi.DN_BCHAIN_KEY_INFO | BchainCreateBip32Ckd (byte bVersion, UInt32 dwIndex, string szPar, string szDst, bool isExportable, bool isTemporary) |
Faz uma operação de Child Key Derivation (CKD). Deriva uma chave Extended Private Key (XPrv) para a blockchain no padrão BIP32. | |
byte[] | BchainSignHash (byte bType, byte bHashMode, byte[] pbHash, string szPk) |
Assina um hash usando o módulo Blockchain. | |
byte[] | BchainGetPubKey (byte bType, string szId) |
Recupera uma chave pública usando o módulo blockchain. | |
byte[] | BchainGetAddress (byte bType, byte bVersion, string szHrp, string szId) |
Recupera o endereço de uma chave usando o módulo blockchain. | |
byte[] | BchainEdDsaSign (byte bType, string szCtxStr, byte[] pbData, string szId) |
Gera uma assinatura EdDsa usando o módulo blockchain. | |
void | BchainGenerateKey (Dinamo.Hsm.DinamoClient.KEY_ALG dwAlg, string szId, bool isExportable, bool isTemporary) |
Gera uma chave marcada para uso no módulo blockchain. | |
|
inline |
Cria uma chave privada XPriv para Bitcoin no formato minikey.
szId | Identificador da chave. |
isExportable | A chave poderá ser exportada do HSM. |
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Cria uma chave privada XPriv no formato BIP32.
szId | Identificador da chave. | ||||||||||
bVersion | Versão da chave. Ver tabela abaixo.
| ||||||||||
isExportable | A chave poderá ser exportada do HSM. | ||||||||||
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Cria uma chave privada XPriv no formato BIP32 utilizando seed.
szId | Identificador da chave. |
pData | Dados para a geração da chave. |
isExportable | A chave poderá ser exportada do HSM. |
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Cria uma chave privada XPriv no formato BIP39 utilizando seed.
szId | Identificador da chave. |
pData | Dados para a geração da chave. |
isExportable | A chave poderá ser exportada do HSM. |
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Faz uma operação de Child Key Derivation (CKD). Deriva uma chave Extended Private Key (XPrv) para a blockchain no padrão BIP32.
bVersion | Versão da chave. Ver tabela abaixo.
| ||||||||||
dwIndex | Índice da chave que será derivada. Chaves non hardened usam índice de 0 a 231-1 e chaves hardened (irrestritamente seguras) usam índices de 231 a 232-1 , como especificado no padrão BIP32. É altamente recomendado gerar chaves hardened. Usar DinamoApi.DN_BCHAIN_SECURE_BIP32_INDEX_BASE como base para gerar índices hardened (Ex. DinamoApi.DN_BCHAIN_SECURE_BIP32_INDEX_BASE + 1 ...). | ||||||||||
szPar | Identificador da chave pai. | ||||||||||
szDst | Identificador da chave derivada. Deve ser uma chave XPrv (DinamoApi.DN_BCHAIN_BIP32_XPRV etc.) | ||||||||||
isExportable | A chave poderá ser exportada do HSM. | ||||||||||
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Assina um hash usando o módulo Blockchain.
bType | Tipo de chave.
| ||||||||||||
bHashMode | Tipo do hash.
| ||||||||||||
pbHash | Hash calculado de acordo com o informado em bHashMode . | ||||||||||||
szPk | Identificador da chave privada. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Recupera uma chave pública usando o módulo blockchain.
bType | Tipo de chave.
| ||||||||||||||||
szId | Identificador da chave privada. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Recupera o endereço de uma chave usando o módulo blockchain.
bType | Tipo do endereço a ser gerado. Pode ser um dos valores abaixo.
|
bVersion | Versão do endereço. Ver tabela abaixo.
| ||||||||||||||||||||||
szHrp | HRP (Human Readable Part) da chave. Os valores da tabela são aceitos. Deve ter tamanho máximo de DinamoApi.DN_BCHAIN_MAX_HRP
| ||||||||||||||||||||||
szId | Identificador da chave privada. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera uma assinatura EdDsa usando o módulo blockchain.
bType | Tipo da assinatura a ser gerada. Pode ser um dos valores abaixo.
| ||||||||||
szCtxStr | String de contexto (context-string) como definido na RFC-8032 de tamanho máximo DinamoApi.DN_BCHAIN_EDDSA_MAX_CSTRL. Pode ser passado DinamoApi.DN_BCHAIN_EDDSA_CSTR_UNUSED. | ||||||||||
pbData | Dados a serem assinados. | ||||||||||
szId | Identificador da chave privada. |
DinamoException | Lança exceção em caso de erro. |
|
inline |
Gera uma chave marcada para uso no módulo blockchain.
dwAlg | Algoritmo a ser utilizado. Dinamo.Hsm.DinamoClient.KEY_ALG |
szId | Identificador da chave. |
isExportable | A chave poderá ser exportada do HSM. |
isTemporary | A chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão. |
DinamoException | Lança exceção em caso de erro. |