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. |