// Define os parâmetros de conexão com o HSM constoptions = { host:"127.0.0.1", authUsernamePassword: { username:"master", password:"12345678", }, };
asyncfunctionkeyDerivation() { // Connecta ao HSM constconn = awaithsm.connect(options);
// Nome da chave constkeyName = "parentKey";
// Cria a chave pai constcreated = awaitconn.blockchain.create( keyName, // Nome da chave hsm.enums.BLOCKCHAIN_KEYS.BIP32_XPRV, // Tipo da chave true, // Se é exportável true, // Se é temporária hsm.enums.VERSION_OPTIONS.BIP32_MAIN_NET// Versão );
// Verifica se a chave pai foi criada if (created) { console.log("Parent key created"); } else { console.log("Parent key not created"); }
// Nome da chave filha constchildName = "childKey";
// Deriva a chave constchildKey = awaitconn.blockchain.createBip32ChildKeyDerivation( hsm.enums.VERSION_OPTIONS.BIP32_MAIN_NET, // Versão hsm.enums.BCHAIN_SECURE_BIP32_INDEX.BASE, // Index da chave true, // Se é exportável true, // Se é temporária keyName, // Nome da chave pai childName// Nome da chave filha ); console.log("Key derived successfully", childKey);
// Desconecta do HSM awaitconn.disconnect(); }
// Execute a função keyDerivation keyDerivation();