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

Descrição detalhada

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.
 

Funções

◆ BchainCreateXPrvBtcMinikey()

void BchainCreateXPrvBtcMinikey ( string szId,
bool isExportable,
bool isTemporary )
inline

Cria uma chave privada XPriv para Bitcoin no formato minikey.

Parâmetros
szIdIdentificador da chave.
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ BchainCreateXPrvBip32()

void BchainCreateXPrvBip32 ( string szId,
byte bVersion,
bool isExportable,
bool isTemporary )
inline

Cria uma chave privada XPriv no formato BIP32.

Parâmetros
szIdIdentificador da chave.
bVersionVersão da chave. Ver tabela abaixo.
Valor Significado
DinamoApi.DN_BCHAIN_VER_BIP32_MAINNET Mainnet BIP32.
DinamoApi.DN_BCHAIN_VER_BIP32_TESTNET Testnet BIP32.
DinamoApi.DN_BCHAIN_VER_BIP32_HTR_MAINNET Mainnet BIP32 Hathor.
DinamoApi.DN_BCHAIN_VER_BIP32_HTR_TESTNET Testnet BIP32 Hathor.
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_ckd.cs, bchain_get_address.cs, bchain_get_pub.cs e bchain_sign_hash.cs.

◆ BchainCreateXPrvBip32Seed()

void BchainCreateXPrvBip32Seed ( string szId,
DinamoApi.DN_BCHAIN_BIP32_SEED_XPRV_DATA pData,
bool isExportable,
bool isTemporary )
inline

Cria uma chave privada XPriv no formato BIP32 utilizando seed.

Parâmetros
szIdIdentificador da chave.
pDataDados para a geração da chave.
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ BchainCreateXPrvBip39Seed()

void BchainCreateXPrvBip39Seed ( string szId,
DinamoApi.DN_BCHAIN_BIP39_SEED_XPRV_DATA pData,
bool isExportable,
bool isTemporary )
inline

Cria uma chave privada XPriv no formato BIP39 utilizando seed.

Parâmetros
szIdIdentificador da chave.
pDataDados para a geração da chave.
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.

◆ BchainCreateBip32Ckd()

DinamoApi.DN_BCHAIN_KEY_INFO BchainCreateBip32Ckd ( byte bVersion,
UInt32 dwIndex,
string szPar,
string szDst,
bool isExportable,
bool isTemporary )
inline

Faz uma operação de Child Key Derivation (CKD). Deriva uma chave Extended Private Key (XPrv) para a blockchain no padrão BIP32.

Parâmetros
bVersionVersão da chave. Ver tabela abaixo.
Valor Significado
DinamoApi.DN_BCHAIN_VER_BIP32_MAINNET Mainnet BIP32.
DinamoApi.DN_BCHAIN_VER_BIP32_TESTNET Testnet BIP32.
DinamoApi.DN_BCHAIN_VER_BIP32_HTR_MAINNET Mainnet BIP32 Hathor.
DinamoApi.DN_BCHAIN_VER_BIP32_HTR_TESTNET Testnet BIP32 Hathor.
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 ...).
szParIdentificador da chave pai.
szDstIdentificador da chave derivada. Deve ser uma chave XPrv (DinamoApi.DN_BCHAIN_BIP32_XPRV etc.)
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Retorna
Informações da chave derivada.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_ckd.cs.

◆ BchainSignHash()

byte[] BchainSignHash ( byte bType,
byte bHashMode,
byte[] pbHash,
string szPk )
inline

Assina um hash usando o módulo Blockchain.

Parâmetros
bTypeTipo de chave.
Valor Significado
DinamoApi.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.
DinamoApi.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.
DinamoApi.DN_BCHAIN_SIG_BIP340 Assinatura BIP340 - Schnorr 64 bytes.
bHashModeTipo do hash.
Valor Significado
DinamoApi.DN_BCHAIN_HASH_BTC_H160 Bitcoin H160.
DinamoApi.DN_BCHAIN_HASH_RIPEMD160 RIPEMD160.
DinamoApi.DN_BCHAIN_HASH_SHA256 SHA256
DinamoApi.DN_BCHAIN_HASH_BTC_SHA256_2X Bitcoin SHA256 2x.
DinamoApi.DN_BCHAIN_HASH_KECCAK256 KECCAK256.
pbHashHash calculado de acordo com o informado em bHashMode.
szPkIdentificador da chave privada.
Retorna
Assinatura.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_sign_hash.cs.

◆ BchainGetPubKey()

byte[] BchainGetPubKey ( byte bType,
string szId )
inline

Recupera uma chave pública usando o módulo blockchain.

Parâmetros
bTypeTipo de chave.
Valor Significado
DinamoApi.DN_BCHAIN_PBK_SEC1_UNCOMP ECDSA SEC1 não comprimida.
DinamoApi.DN_BCHAIN_PBK_SEC1_COMP ECDSA SEC1 comprimida.
DinamoApi.DN_BCHAIN_PBK_BIP340 Schnorr, BIP-340.
DinamoApi.DN_BCHAIN_PBK_ED25519 Ed25519.
DinamoApi.DN_BCHAIN_PBK_AT_ALGORAND Algorand.
DinamoApi.DN_BCHAIN_PBK_BIP32_XPUB BIP32 XPub.
DinamoApi.DN_BCHAIN_PBK_AT_SOL Solana.
szIdIdentificador da chave privada.
Retorna
Chave pública.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_get_pub.cs.

◆ BchainGetAddress()

byte[] BchainGetAddress ( byte bType,
byte bVersion,
string szHrp,
string szId )
inline

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

Parâmetros
bTypeTipo do endereço a ser gerado. Pode ser um dos valores abaixo.
Valor Significado
DinamoApi.DN_BCHAIN_AT_BTC_P2PKH Endereço P2PKH.
DinamoApi.DN_BCHAIN_AT_BTC_P2SH Endereço P2SH BIP13..
DinamoApi.DN_BCHAIN_AT_BTC_B32_PKH Endereço BIP32 P2PKH BIP173.
DinamoApi.DN_BCHAIN_AT_BTC_B32_SH Endereço BIP32 P2SH.
DinamoApi.DN_BCHAIN_AT_ETH_EOA Endereço ETH EOA.
DinamoApi.DN_BCHAIN_AT_ETH_EOA_MC_CKS Endereço ETH EOA MC CKS. EIP55.
DinamoApi.DN_BCHAIN_AT_ETH_EOA_ICAP Endereço ETH EOA ICAP.
DinamoApi.DN_BCHAIN_AT_ALGORAND Endereço Algorand.
DinamoApi.DN_BCHAIN_AT_TRON_HEX Endereço TRON hexadecimal.
DinamoApi.DN_BCHAIN_AT_TRON_B58 Endereço TRON Base 58.
DinamoApi.DN_BCHAIN_AT_XRP Endereço XRP Ledger/Ripple.
DinamoApi.DN_BCHAIN_AT_SOL Endereço Solana.
Parâmetros
bVersionVersão do endereço. Ver tabela abaixo.
Valor Significado
DinamoApi.DN_BCHAIN_VER_UNUSED Parâmetro não utilizado.
DinamoApi.DN_BCHAIN_VER_BTC_A1_MAIN_NET Bitcoin A1 mainnet.
DinamoApi.DN_BCHAIN_VER_XRP_CLASSIC XRP Ledger/Ripple Classic.
DinamoApi.DN_BCHAIN_VER_BTC_AMN_TEST_NET Bitcoin P2PKH testnet.
DinamoApi.DN_BCHAIN_VER_BTC_A3_MAIN_NET Bitcoin A3 mainnet.
DinamoApi.DN_BCHAIN_VER_BTC_B32_WITVER Bitcoin B32 witver.
DinamoApi.DN_BCHAIN_VER_HTR_MAINNET Hathor mainnet.
DinamoApi.DN_BCHAIN_VER_HTR_TESTNET Hathor testnet.
DinamoApi.DN_BCHAIN_VER_HTR_P2SH_MAINNET Hathor P2SH mainnet.
DinamoApi.DN_BCHAIN_VER_HTR_P2SH_TESTNET Hathor P2SH testnet.
szHrpHRP (Human Readable Part) da chave. Os valores da tabela são aceitos. Deve ter tamanho máximo de DinamoApi.DN_BCHAIN_MAX_HRP
Valor Significado
DinamoApi.DN_BCHAIN_HRP_UNUSED Parâmetro não utilizado.
DinamoApi.DN_BCHAIN_HRP_BTC_MAIN_NET Bitcoin mainnet.
DinamoApi.DN_BCHAIN_HRP_BTC_TEST_NET Bitcoin testnet.
szIdIdentificador da chave privada.
Retorna
Endereço.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_get_address.cs.

◆ BchainEdDsaSign()

byte[] BchainEdDsaSign ( byte bType,
string szCtxStr,
byte[] pbData,
string szId )
inline

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
DinamoApi.DN_BCHAIN_EDDSA_SIG_PURE Assinatura EdDsa Pure.
DinamoApi.DN_BCHAIN_EDDSA_SIG_ALGORAND Assinatura EdDsa Algorand.
DinamoApi.DN_BCHAIN_EDDSA_SIG_XRP Assinatura EdDsa XRP.
DinamoApi.DN_BCHAIN_EDDSA_SIG_SOL Assinatura EdDsa Solana.
szCtxStrString 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.
pbDataDados a serem assinados.
szIdIdentificador da chave privada.
Retorna
Assinatura.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_eddsa_sign.cs.

◆ BchainGenerateKey()

void BchainGenerateKey ( Dinamo.Hsm.DinamoClient.KEY_ALG dwAlg,
string szId,
bool isExportable,
bool isTemporary )
inline

Gera uma chave marcada para uso no módulo blockchain.

Parâmetros
dwAlgAlgoritmo a ser utilizado. Dinamo.Hsm.DinamoClient.KEY_ALG
szIdIdentificador da chave.
isExportableA chave poderá ser exportada do HSM.
isTemporaryA chave existirá apenas enquanto a sessão estiver ativa. Ela será destruída após o encerramento da sessão.
Exceções
DinamoExceptionLança exceção em caso de erro.
Exemplos
bchain_eddsa_sign.cs.