// Importa FileSystem do NodeJS
const fs = require("node:fs");
// Importa o Path do NodeJS
const path = require("node:path");

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

// Nome do certificado
const certName = "myDerCert";

// Certificado em formato DER
const certBuff = fs.readFileSync(
path.resolve(__dirname, "test_certificate.der")
);

// Importa o certificado
const imported = await conn.key.importCertificate(certName, certBuff);

// Verifica se o certificado foi importado
if (imported) {
console.log(`Certificate "${certName}" imported successfull`);
} else {
console.log("Certificate not imported");
}

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

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