// 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 importKey() {
// Connecta ao HSM
const conn = await hsm.connect(options);

// Nome do certificado
const keyName = "myHmacS2512Key";

// Chave a ser importada
const key = Buffer.from(
"QofX2F8rxv8q6B+Ejor8kKcAr4XM5eQo/lwS8Xdqmynd9N6SbCvdmAPp3CW5wDjc99tnTl6AbQa4w9XPKy2uZA==",
"base64"
);

// Importa o certificado
const imported = await conn.key.import(
keyName, // Nome da chave
hsm.enums.HMAC_KEYS.ALG_HMAC_SHA2_512,
key, // Algoritmo da chave
true, // Se a chave é exportável
true // Se a chave é temporária
);

// Verifica se a chave foi importada
if (imported) {
console.log(`Chave "${keyName}" imported successfull`);
} else {
console.log("Chave not imported");
}

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

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