API Java
HSM Dinamo
Carregando...
Procurando...
Nenhuma entrada encontrado
Módulo Blockchain

Descrição detalhada

Operações de suporte à segurança de estruturas baseadas em Blockchain.

Consulte a documentação técnica do HSM sobre detalhes de funcionamento, especificações utilizadas, licenças e nome comercial do módulo.

Operações de suporte à segurança de estruturas baseadas em Blockchain. Mais...

Funções

byte[] bchainSignHash (byte bType, byte bHashMode, byte[] pbHash, String strPk) throws TacException
 Assina um hash usando o módulo blockchain.
 
byte[] bchainEdDsaSign (byte bType, String szCtxStr, byte[] pbData, String strPk) throws TacException
 Gera uma assinatura EdDsa usando o módulo blockchain.
 
void bchainVerify (byte bSigType, byte bHashMode, byte[] pbHash, byte[] pbSig, byte bInPbkType, byte[] pbInPbk) throws TacException
 Verifica uma assinatura usando o módulo blockchain.
 
void bchainEdDsaVerify (byte bType, String szCtxStr, byte[] pbData, byte bPbkType, byte[] pbPbk, byte[] pbSig) throws TacException
 Verifica uma assinatura EdDsa usando o módulo blockchain.
 
byte[] bchainGetPubKey (byte bType, String jszId) throws TacException
 Recupera uma chave pública a partir de uma chave privada usando o módulo blockchain.
 
byte[] bchainGetAddress (byte bType, byte bVer, String szHrp, String szPk) throws TacException
 Recupera o endereço de uma chave usando o módulo blockchain.
 
BchainKeyInfo bchainGetKeyInfo (String szId) throws TacException
 Recupera as propriedades de uma chave usando o módulo blockchain.
 
byte[] bchainHashData (byte bMode, byte[] pbData) throws TacException
 Calcula um hash usando o módulo blockchain.
 
BchainKeyInfo bchainCreateCkdBip32 (byte bVer, int dwIndex, int dwAttributes, String szPar, String szDst) throws TacException
 Deriva uma chave filha BIP32 XPrv no módulo blockchain.
 
BchainKeyInfo bchainCreateCkdEd25519 (byte bCkdType, byte bVer, int dwIndex, int dwAttributes, String szPar, String szDst) throws TacException
 Deriva uma chave filha Ed25519 XPrv no padrão BIP32/SLIP-0010 no módulo blockchain.
 
BchainKeyInfo bchainCreateCkdP256 (byte bCkdType, byte bVer, int dwIndex, int dwAttributes, String szPar, String szDst) throws TacException
 Deriva uma chave filha P-256 XPrv no padrão BIP32/SLIP-0010 no módulo blockchain.
 
void bchainCreateXPrv (byte bType, int dwAttributes, String szId, byte[] pbData) throws TacException
 Cria uma chave XPrv no módulo blockchain.
 
void bchainCreateXPrv (byte bType, byte bVer, int dwAttributes, String szId) throws TacException
 Cria uma chave XPrv sem dados de semente no módulo blockchain.
 
void bchainCreateXPrvBip32Seed (byte bVer, int dwAttributes, String szId, byte[] pbSeed) throws TacException
 Cria uma chave XPrv a partir de uma semente BIP32 no módulo blockchain.
 
void bchainCreateXPrvBip39Seed (byte bVer, int dwAttributes, String szId, String szSeed, String szPwd) throws TacException
 Cria uma chave XPrv a partir de uma semente BIP39 no módulo blockchain.
 

Funções

◆ bchainSignHash()

byte[] bchainSignHash ( byte bType,
byte bHashMode,
byte[] pbHash,
String strPk ) throws TacException

Assina um hash usando o módulo blockchain.

Parâmetros
bTypeTipo da assinatura a ser gerada. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_SIG_DER_ECDSA Assinatura DER, no formato v || DER. SECG!SEC1 strict DER com low S como descrito em BIP62/66, BIP146, EIP2. Tendo 'v' o tamanho de 1 byte. 'v' é o bit de paridade de 'r' podendo ter os valores 0 ou 1.
TacNDJavaLib.DN_BCHAIN_SIG_RAW_ECDSA Assinatura RAW, no formato v || r || s. Tendo 'v' o tamanho de 1 byte e 'r' e 's' cada uma o tamanho de 32 bytes. 'v' é o bit de paridade de 'r' podendo ter os valores 0 ou 1.
TacNDJavaLib.DN_BCHAIN_SIG_BIP340 Assinatura BIP340 - Schnorr 64 bytes.
bHashModeTipo do hash.
Valor Significado
TacNDJavaLib.DN_BCHAIN_HASH_BTC_H160 Bitcoin H160.
TacNDJavaLib.DN_BCHAIN_HASH_RIPEMD160 RIPEMD160.
TacNDJavaLib.DN_BCHAIN_HASH_SHA256 SHA256
TacNDJavaLib.DN_BCHAIN_HASH_BTC_SHA256_2X Bitcoin SHA256 2x.
TacNDJavaLib.DN_BCHAIN_HASH_KECCAK256 KECCAK256.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B224 Blake2b 224.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B256 Blake2b 256.
pbHashHash a ser assinado.
strPkIdentificador da chave privada.
Retorna
Assinatura no formato especificado em bType.
Exceções
TacException

◆ bchainEdDsaSign()

byte[] bchainEdDsaSign ( byte bType,
String szCtxStr,
byte[] pbData,
String strPk ) throws TacException

Gera uma assinatura EdDsa usando o módulo blockchain.

Parâmetros
bTypeTipo da assinatura a ser gerada. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_PURE Assinatura EdDsa Pure.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_ALGORAND Assinatura EdDsa Algorand.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_XRP Assinatura EdDsa XRP Ledger/Ripple.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_SOL Assinatura EdDsa Solana.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XLM Assinatura EdDsa Stellar.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_ADA Assinatura EdDsa Cardano.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_DOT Assinatura EdDsa Polkadot.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XTZ Assinatura EdDsa Tezos codificada em b58.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XTZ_PH Assinatura EdDsa Tezos utilizando blake2b-256.
szCtxStrString de contexto como definido na RFC-8032. Usar TacNDJavaLib.DN_BCHAIN_EDDSA_CSTR_UNUSED quando não aplicável.
pbDataDados a serem assinados.
strPkNome da chave privada.
Retorna
Assinatura no formato especificado em bType.
Exceções
TacException

◆ bchainVerify()

void bchainVerify ( byte bSigType,
byte bHashMode,
byte[] pbHash,
byte[] pbSig,
byte bInPbkType,
byte[] pbInPbk ) throws TacException

Verifica uma assinatura usando o módulo blockchain.

Parâmetros
bSigTypeTipo da assinatura. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_SIG_DER_ECDSA Assinatura DER, no formato v || DER.
TacNDJavaLib.DN_BCHAIN_SIG_RAW_ECDSA Assinatura RAW, no formato v || r || s.
TacNDJavaLib.DN_BCHAIN_SIG_BIP340 Assinatura BIP340 - Schnorr 64 bytes.
bHashModeTipo do hash. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_HASH_BTC_H160 Bitcoin H160.
TacNDJavaLib.DN_BCHAIN_HASH_RIPEMD160 RIPEMD160.
TacNDJavaLib.DN_BCHAIN_HASH_SHA256 SHA256.
TacNDJavaLib.DN_BCHAIN_HASH_BTC_SHA256_2X Bitcoin SHA256 2x.
TacNDJavaLib.DN_BCHAIN_HASH_KECCAK256 KECCAK256.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B224 Blake2b 224.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B256 Blake2b 256.
pbHashHash calculado de acordo com o informado em bHashMode.
pbSigAssinatura a ser verificada de acordo com o informado em bSigType.
bInPbkTypeFormato da chave pública. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_UNCOMP ECDSA SEC1 não comprimida.
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_COMP ECDSA SEC1 comprimida.
TacNDJavaLib.DN_BCHAIN_PBK_BIP340 Schnorr, BIP-340.
TacNDJavaLib.DN_BCHAIN_PBK_ED25519 Ed25519.
pbInPbkChave pública utilizada na verificação.
Exceções
TacException

◆ bchainEdDsaVerify()

void bchainEdDsaVerify ( byte bType,
String szCtxStr,
byte[] pbData,
byte bPbkType,
byte[] pbPbk,
byte[] pbSig ) throws TacException

Verifica uma assinatura EdDsa usando o módulo blockchain.

Parâmetros
bTypeTipo da assinatura a ser verificada. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_PURE Assinatura EdDsa Pure.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_ALGORAND Assinatura EdDsa Algorand.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_XRP Assinatura EdDsa XRP Ledger/Ripple.
TacNDJavaLib.DN_BCHAIN_EDDSA_SIG_SOL Assinatura EdDsa Solana.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XLM Assinatura EdDsa Stellar.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_ADA Assinatura EdDsa Cardano.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_DOT Assinatura EdDsa Polkadot.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XTZ Assinatura EdDsa Tezos codificada em b58.
TacNDJavaLib.DN_BCHAIN_EdDSA_SIG_XTZ_PH Assinatura EdDsa Tezos utilizando blake2b-256.
szCtxStrString de contexto como definido na RFC-8032. Usar TacNDJavaLib.DN_BCHAIN_EDDSA_CSTR_UNUSED quando não aplicável.
pbDataDados a serem verificados.
bPbkTypeFormato da chave pública. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_PBK_ED25519 Ed25519.
TacNDJavaLib.DN_BCHAIN_PBK_AT_ALGORAND Algorand.
TacNDJavaLib.DN_BCHAIN_PBK_BIP32_XPUB BIP32 XPub.
TacNDJavaLib.DN_BCHAIN_PBK_AT_SOL Solana.
TacNDJavaLib.DN_BCHAIN_PBK_AT_XLM Stellar Lumens.
TacNDJavaLib.DN_BCHAIN_PBK_ADA_VK Cardano CIP-0016 / CIP-0005.
TacNDJavaLib.DN_BCHAIN_PBK_AT_SS58 SS58.
TacNDJavaLib.DN_BCHAIN_PBK_TON TEP-2 "User-friendly"/"armored".
pbPbkChave pública utilizada na verificação.
pbSigAssinatura a ser verificada.
Exceções
TacException

◆ bchainGetPubKey()

byte[] bchainGetPubKey ( byte bType,
String jszId ) throws TacException

Recupera uma chave pública a partir de uma chave privada usando o módulo blockchain.

Parâmetros
bTypeFormato da chave pública a ser exportada. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_UNCOMP ECDSA SEC1 não comprimida.
TacNDJavaLib.DN_BCHAIN_PBK_SEC1_COMP ECDSA SEC1 comprimida.
TacNDJavaLib.DN_BCHAIN_PBK_BIP340 Schnorr, BIP-340.
TacNDJavaLib.DN_BCHAIN_PBK_ED25519 Ed25519.
TacNDJavaLib.DN_BCHAIN_PBK_AT_ALGORAND Algorand.
TacNDJavaLib.DN_BCHAIN_PBK_BIP32_XPUB BIP32 XPub.
TacNDJavaLib.DN_BCHAIN_PBK_AT_SOL Solana.
TacNDJavaLib.DN_BCHAIN_PBK_AT_XLM Stellar Lumens.
TacNDJavaLib.DN_BCHAIN_PBK_ADA_VK Cardano CIP-0016 / CIP-0005.
TacNDJavaLib.DN_BCHAIN_PBK_AT_SS58 SS58.
TacNDJavaLib.DN_BCHAIN_PBK_TON TEP-2 "User-friendly"/"armored".
TacNDJavaLib.DN_BCHAIN_PBK_E_UNCOMP SEC1_UNCOMP sem o prefixo 0x04 (X || Y). Apenas alt_bn128 (EIPs 196/197).
jszIdIdentificador da chave privada.
Retorna
Chave pública no formato especificado em bType.
Exceções
TacException

◆ bchainGetAddress()

byte[] bchainGetAddress ( byte bType,
byte bVer,
String szHrp,
String szPk ) throws TacException

Recupera o endereço de uma chave usando o módulo blockchain.

Parâmetros
bTypeTipo do endereço. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_AT_BTC_P2PKH Endereço P2PKH. bVer: DN_BCHAIN_VER_BTC_A1_MAIN_NET/A3_MAIN_NET/AMN_TEST_NET/HTR_MAINNET/HTR_TESTNET; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_BTC_P2SH Endereço P2SH BIP13. bVer: idem P2PKH; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_BTC_P2WPKH Endereço BIP173, version 0. bVer: DN_BCHAIN_VER_BTC_B32_WITVER; szHrp: DN_BCHAIN_HRP_BTC_MAIN_NET ou DN_BCHAIN_HRP_BTC_TEST_NET.
TacNDJavaLib.DN_BCHAIN_AT_BTC_P2WSH Endereço BIP173, version 0. bVer: idem P2PKH; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ETH_EOA Endereço ETH EOA. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ETH_EOA_MC_CKS Endereço ETH EOA MC CKS. EIP55. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ETH_EOA_ICAP Endereço ETH EOA ICAP. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ALGORAND Endereço Algorand. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_TRON_HEX Endereço TRON hexadecimal. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_TRON_B58 Endereço TRON Base 58. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_XRP Endereço XRP Ledger/Ripple. bVer: DN_BCHAIN_VER_XRP_CLASSIC; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_SOL Endereço Solana. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_XLM Endereço Stellar SEP-23. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ADA_PKH Endereço Cardano CIP-0019. bVer: DN_BCHAIN_VER_ADA_MAINNET ou DN_BCHAIN_VER_ADA_TESTNET; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_ADA_SH Endereço Cardano CIP-0019 SH. bVer: DN_BCHAIN_VER_ADA_MAINNET ou DN_BCHAIN_VER_ADA_TESTNET; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_LUNC Endereço Terra Classic. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_SS58 Endereço SS58. bVer: DN_BCHAIN_VER_SS58_POLKADOT ou DN_BCHAIN_VER_SS58_GEN_SUBST; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_XTZ Endereço Tezos. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_TON Endereço Toncoin TEP-2. bVer: DN_BCHAIN_VER_TON_MN_BWORK/MN_MCHAIN/TN_BWORK/TN_MCHAIN; szHrp: DN_BCHAIN_HRP_TON_BNCBLE ou DN_BCHAIN_HRP_TON_NBNCBLE.
TacNDJavaLib.DN_BCHAIN_AT_TON_SH Endereço Toncoin TEP-2 SH. bVer: idem TON; szHrp: idem TON.
TacNDJavaLib.DN_BCHAIN_AT_ATOM Endereço Atom ADR-028. bVer: DN_BCHAIN_VER_UNUSED; szHrp: DN_BCHAIN_HRP_UNUSED.
TacNDJavaLib.DN_BCHAIN_AT_BTC_P2TR Endereço BTC BIP350, version 1-16. bVer: DN_BCHAIN_VER_BTC_SEGWIT1/LTC_SEGWIT1; szHrp: DN_BCHAIN_HRP_BTC_MAIN_NET/BTC_TEST_NET/LTC_MAINNET/LTC_TESTNET.
bVerVersão do endereço conforme o tipo. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_VER_UNUSED Não utilizado.
TacNDJavaLib.DN_BCHAIN_VER_BTC_A1_MAIN_NET Bitcoin A1 mainnet.
TacNDJavaLib.DN_BCHAIN_VER_BTC_AMN_TEST_NET Bitcoin P2PKH testnet.
TacNDJavaLib.DN_BCHAIN_VER_BTC_A3_MAIN_NET Bitcoin A3 mainnet.
TacNDJavaLib.DN_BCHAIN_VER_BTC_B32_WITVER Bitcoin B32 witver.
TacNDJavaLib.DN_BCHAIN_VER_BTC_SEGWIT0 Bitcoin SEGWIT0.
TacNDJavaLib.DN_BCHAIN_VER_BTC_SEGWIT1 Bitcoin SEGWIT1.
TacNDJavaLib.DN_BCHAIN_VER_HTR_MAINNET Hathor mainnet.
TacNDJavaLib.DN_BCHAIN_VER_HTR_TESTNET Hathor testnet.
TacNDJavaLib.DN_BCHAIN_VER_HTR_P2SH_MAINNET Hathor P2SH mainnet.
TacNDJavaLib.DN_BCHAIN_VER_HTR_P2SH_TESTNET Hathor P2SH testnet.
TacNDJavaLib.DN_BCHAIN_VER_XRP_CLASSIC XRP Ledger/Ripple Classic.
TacNDJavaLib.DN_BCHAIN_VER_LTC_AL_MAINNET Litecoin AL mainnet.
TacNDJavaLib.DN_BCHAIN_VER_LTC_Amn_TESTNET Litecoin Amn testnet.
TacNDJavaLib.DN_BCHAIN_VER_LTC_AM_MAINNET Litecoin AM mainnet.
TacNDJavaLib.DN_BCHAIN_VER_LTC_AQ_TESTNET Litecoin AQ testnet.
TacNDJavaLib.DN_BCHAIN_VER_ADA_MAINNET Cardano mainnet.
TacNDJavaLib.DN_BCHAIN_VER_ADA_TESTNET Cardano testnet.
TacNDJavaLib.DN_BCHAIN_VER_SS58_POLKADOT Polkadot SS58.
TacNDJavaLib.DN_BCHAIN_VER_SS58_GEN_SUBST Generic Substrate SS58.
TacNDJavaLib.DN_BCHAIN_VER_TON_MN_BWORK Toncoin wallet v4r2; mainnet; basic workchain.
TacNDJavaLib.DN_BCHAIN_VER_TON_MN_MCHAIN Toncoin wallet v4r2; mainnet; masterchain.
TacNDJavaLib.DN_BCHAIN_VER_TON_TN_BWORK Toncoin wallet v4r2; testnet; basic workchain.
TacNDJavaLib.DN_BCHAIN_VER_TON_TN_MCHAIN Toncoin wallet v4r2; testnet; masterchain.
szHrpHRP (Human Readable Part). Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_HRP_UNUSED Não utilizado.
TacNDJavaLib.DN_BCHAIN_HRP_BTC_MAIN_NET Bitcoin mainnet.
TacNDJavaLib.DN_BCHAIN_HRP_BTC_TEST_NET Bitcoin testnet.
TacNDJavaLib.DN_BCHAIN_HRP_LTC_MAINNET Litecoin mainnet.
TacNDJavaLib.DN_BCHAIN_HRP_LTC_TESTNET Litecoin testnet.
TacNDJavaLib.DN_BCHAIN_HRP_TON_BNCBLE Toncoin bounceable.
TacNDJavaLib.DN_BCHAIN_HRP_TON_NBNCBLE Toncoin non-bounceable.
szPkNome da chave privada no HSM.
Retorna
Endereço no formato especificado em bType.
Exceções
TacException

◆ bchainGetKeyInfo()

BchainKeyInfo bchainGetKeyInfo ( String szId) throws TacException

Recupera as propriedades de uma chave usando o módulo blockchain.

Parâmetros
szIdNome da chave no HSM.
Retorna
Informações da chave em uma instância de BchainKeyInfo.
Exceções
TacException

◆ bchainHashData()

byte[] bchainHashData ( byte bMode,
byte[] pbData ) throws TacException

Calcula um hash usando o módulo blockchain.

Parâmetros
bModeTipo do hash. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_HASH_BTC_H160 Bitcoin H160.
TacNDJavaLib.DN_BCHAIN_HASH_RIPEMD160 RIPEMD160.
TacNDJavaLib.DN_BCHAIN_HASH_SHA256 SHA256.
TacNDJavaLib.DN_BCHAIN_HASH_BTC_SHA256_2X Bitcoin SHA256 2x.
TacNDJavaLib.DN_BCHAIN_HASH_KECCAK256 KECCAK256.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B224 Blake2b 224.
TacNDJavaLib.DN_BCHAIN_HASH_BLAKE2B256 Blake2b 256.
pbDataDados a serem processados. Tamanho máximo de DN_BCHAIN_MAX_HDATA_LEN (2 MB).
Retorna
Hash calculado de acordo com o tipo informado em bMode.
Exceções
TacException
Anotações
Esta API está disponível para validação de implementação. Recomenda-se a geração do hash por software para melhor performance e melhor uso dos recursos do HSM.

◆ bchainCreateCkdBip32()

BchainKeyInfo bchainCreateCkdBip32 ( byte bVer,
int dwIndex,
int dwAttributes,
String szPar,
String szDst ) throws TacException

Deriva uma chave filha BIP32 XPrv no módulo blockchain.

Parâmetros
bVerVersão da chave derivada. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_VER_BIP32_MAINNET Mainnet BIP32.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_TESTNET Testnet BIP32.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_HTR_MAINNET Mainnet BIP32 Hathor.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_HTR_TESTNET Testnet BIP32 Hathor.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_FPRV1 Fireblocks variation.
dwIndexÍndice de derivação. Chaves non-hardened: 0 a 2^31-1. Chaves hardened: TacNDJavaLib#DN_BCHAIN_SECURE_BIP32_INDEX_BASE a TacNDJavaLib#DN_BCHAIN_SECURE_BIP32_INDEX_BASE + 2^31-1.
dwAttributesParâmetros adicionais da chave. Ver createKey.
szParNome da chave pai no HSM.
szDstNome da chave derivada a ser criada no HSM.
Retorna
Informações da chave derivada em uma instância de BchainKeyInfo.
Exceções
TacException

◆ bchainCreateCkdEd25519()

BchainKeyInfo bchainCreateCkdEd25519 ( byte bCkdType,
byte bVer,
int dwIndex,
int dwAttributes,
String szPar,
String szDst ) throws TacException

Deriva uma chave filha Ed25519 XPrv no padrão BIP32/SLIP-0010 no módulo blockchain.

Parâmetros
bCkdTypeTipo de derivação. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_BIP32_Ed_KDT_SLIP10 SatoshiLabs SLIP-0010.
TacNDJavaLib.DN_BCHAIN_BIP32_Ed_KDT_FPRV1 Fireblocks variation.
bVerVersão da chave derivada. Ver tabela de opções em bchainCreateCkdBip32(byte, int, int, String, String).
dwIndexÍndice de derivação. Ver tabela de opções em bchainCreateCkdBip32(byte, int, int, String, String).
dwAttributesParâmetros adicionais da chave. Ver createKey.
szParNome da chave pai no HSM.
szDstNome da chave derivada a ser criada no HSM.
Retorna
Informações da chave derivada em uma instância de BchainKeyInfo.
Exceções
TacException

◆ bchainCreateCkdP256()

BchainKeyInfo bchainCreateCkdP256 ( byte bCkdType,
byte bVer,
int dwIndex,
int dwAttributes,
String szPar,
String szDst ) throws TacException

Deriva uma chave filha P-256 XPrv no padrão BIP32/SLIP-0010 no módulo blockchain.

Parâmetros
bCkdTypeTipo de derivação. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_BIP32_P256_KDT_SLIP10 SatoshiLabs SLIP-0010 for P-256.
bVerVersão da chave derivada. Ver tabela de opções em bchainCreateCkdBip32(byte, int, int, String, String).
dwIndexÍndice de derivação. Ver tabela de opções em bchainCreateCkdBip32(byte, int, int, String, String).
dwAttributesParâmetros adicionais da chave. Ver createKey.
szParNome da chave pai no HSM.
szDstNome da chave derivada a ser criada no HSM.
Retorna
Informações da chave derivada em uma instância de BchainKeyInfo.
Exceções
TacException

◆ bchainCreateXPrv() [1/2]

void bchainCreateXPrv ( byte bType,
int dwAttributes,
String szId,
byte[] pbData ) throws TacException

Cria uma chave XPrv no módulo blockchain.

Parâmetros
bTypeTipo de geração da chave. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_BTC_MINIKEY Bitcoin minikey. pbData deve ser null e dwDataLen deve ser 0.
TacNDJavaLib.DN_BCHAIN_BIP32_SEED_XPRV BIP32 seed XPrv. pbData deve conter a estrutura DN_BCHAIN_BIP32_SEED_XPRV_DATA serializada.
TacNDJavaLib.DN_BCHAIN_BIP39_SEED_XPRV BIP39 seed XPrv. pbData deve conter a estrutura DN_BCHAIN_BIP39_SEED_XPRV_DATA serializada.
TacNDJavaLib.DN_BCHAIN_BIP32_XPRV BIP32 XPrv. pbData deve ser a versão (TacNDJavaLib.DN_BCHAIN_VER_BIP32_MAINNET, etc.).
TacNDJavaLib.DN_BCHAIN_BIP32_ED25519_XPRV BIP32 Ed25519 XPrv. pbData deve ser a versão.
TacNDJavaLib.DN_BCHAIN_BIP32_P256_XPRV BIP32 P-256 XPrv. pbData deve ser a versão.
dwAttributesParâmetros adicionais da chave. Ver createKey.
szIdNome da chave no HSM.
pbDataBuffer com os dados de geração da chave conforme o tipo em bType. Pode ser null para tipos que não necessitam de dados.
Exceções
TacException

◆ bchainCreateXPrv() [2/2]

void bchainCreateXPrv ( byte bType,
byte bVer,
int dwAttributes,
String szId ) throws TacException

Cria uma chave XPrv sem dados de semente no módulo blockchain.

Utilizado com os tipos que requerem apenas a versão da chave: TacNDJavaLib.DN_BCHAIN_BIP32_XPRV, TacNDJavaLib.DN_BCHAIN_BIP32_ED25519_XPRV e TacNDJavaLib.DN_BCHAIN_BIP32_P256_XPRV. Para TacNDJavaLib.DN_BCHAIN_BTC_MINIKEY, utilize bVer 0.

Parâmetros
bTypeTipo de geração da chave.
bVerVersão da chave. Utilizado pelos tipos TacNDJavaLib.DN_BCHAIN_BIP32_XPRV, TacNDJavaLib.DN_BCHAIN_BIP32_ED25519_XPRV e TacNDJavaLib.DN_BCHAIN_BIP32_P256_XPRV. Para TacNDJavaLib.DN_BCHAIN_BTC_MINIKEY, utilize 0. Pode ser um dos valores abaixo.
Valor Significado
TacNDJavaLib.DN_BCHAIN_VER_BIP32_MAINNET Mainnet BIP32.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_TESTNET Testnet BIP32.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_HTR_MAINNET Mainnet BIP32 Hathor.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_HTR_TESTNET Testnet BIP32 Hathor.
TacNDJavaLib.DN_BCHAIN_VER_BIP32_FPRV1 Variação Fireblocks.
dwAttributesParâmetros adicionais da chave. Ver createKey.
szIdNome da chave no HSM.
Exceções
TacException

◆ bchainCreateXPrvBip32Seed()

void bchainCreateXPrvBip32Seed ( byte bVer,
int dwAttributes,
String szId,
byte[] pbSeed ) throws TacException

Cria uma chave XPrv a partir de uma semente BIP32 no módulo blockchain.

Parâmetros
bVerVersão da chave. Ver tabela de opções em bchainCreateXPrv(byte,byte,int,String).
dwAttributesParâmetros adicionais da chave. Ver createKey.
szIdNome da chave no HSM.
pbSeedSemente BIP32. Tamanho máximo de TacNDJavaLib.DN_BCHAIN_BIP32_SEED_LEN_MAX.
Exceções
TacException

◆ bchainCreateXPrvBip39Seed()

void bchainCreateXPrvBip39Seed ( byte bVer,
int dwAttributes,
String szId,
String szSeed,
String szPwd ) throws TacException

Cria uma chave XPrv a partir de uma semente BIP39 no módulo blockchain.

As strings szSeed e szPwd devem estar no formato UTF-8 NFKD conforme a especificação BIP39.

Parâmetros
bVerVersão da chave. Ver tabela de opções em bchainCreateXPrv(byte,byte,int,String).
dwAttributesParâmetros adicionais da chave. Ver createKey.
szIdNome da chave no HSM.
szSeedSemente BIP39 em UTF-8 NFKD. Tamanho máximo de TacNDJavaLib.DN_BCHAIN_BIP39_SEED_LEN_MAX.
szPwdSenha BIP39 em UTF-8 NFKD. Pode ser string vazia. Tamanho máximo de TacNDJavaLib.DN_BCHAIN_BIP39_PWD_LEN_MAX.
Exceções
TacException