// Define os parâmetros de conexão com o HSM constoptions = { host:"127.0.0.1", authUsernamePassword: { username:"master", password:"12345678", }, };
asyncfunctionsign() { // Connecta ao HSM constconn = awaithsm.connect(options);
// Nome da chave constkeyName = "myKeyToSign";
// Cria uma chave constkey = awaitconn.blockchain.create( keyName, // Nome da chave hsm.enums.BLOCKCHAIN_KEYS.BIP32_XPRV, // Tipo da chave true, // Se a chave é exportável true, // Se é temporária hsm.enums.VERSION_OPTIONS.BIP32_MAIN_NET// Versão );
// Dados para serem aplicados a hash constdataToHash = Buffer.from("Data to hash"); // Geração de hash com base nos dados consthashedData = awaitconn.blockchain.hashData( hsm.enums.BLOCKCHAIN_HASH_MODE.SHA256, dataToHash );
// Assina o hash constsignedHash = awaitconn.blockchain.sign( hsm.enums.BLOCKCHAIN_SIG_TYPE.SIG_RAW_ECDSA, // Tipo da assinatura hsm.enums.BLOCKCHAIN_HASH_MODE.KECCAK256, // Tipo do hash hashedData, // Dados a serem assinados keyName// Nome da chave );