// Importa o cliente Dinamo HSM
const { hsm } = require("@dinamonetworks/hsm-dinamo");

// Define os parâmetros de conexão com o HSM
const options = {
host: "127.0.0.1",
authUsernamePassword: {
username: "master",
password: "12345678",
},
};

async function getRandomBytes() {
// Connecta ao HSM
const conn = await hsm.connect(options);

// Obtém um conjunto de bytes aleatorios retornados como um buffer
const randomBytes = await conn.cryptography.genRand(
16 // Número de bytes aletórios a serem retornados pelo HSM
);

// Verifica se bytes aleatórios foram retornados
if (randomBytes) {
// Converte o retorno em base64
console.log(randomBytes.toString("base64"));
} else {
console.log("Erro ao gerar bytes aleatórios");
}

// Desconecta do HSM
await conn.disconnect();
}

// Execute a função getRandomBytes
getRandomBytes();