// 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 importPKCS12() {
try {
const conn = await hsm.connect(options);

const keyName = 'myImportedKey';
const certName = 'myImportedCert';
const password = 'p12password'; // Senha do arquivo PKCS#12
const p12Path = './path/to/your/file.p12'; // Caminho para o arquivo .p12

try {
const p12Buffer = await fs.readFile(p12Path); // Lê o arquivo .p12 como um buffer.
const pubKeyName = "myPubKey" //Nome da chave pública

// Importa o arquivo PKCS#12
const success = await conn.key.importPKCS12(
keyName,
certName,
password,
p12Buffer,
pubKeyName,
true, // flag para exportável
false // flag para temporária
);

if (success) {
console.log('PKCS#12 importado com sucesso!');
} else {
console.error('Falha ao importar PKCS#12.');
}


} catch (err) {
console.log(err)
console.error("Erro ao ler ou importar o arquivo PKCS#12:", err.message);

} finally {
await conn.disconnect();

}

} catch (error) {
console.error('Erro ao conectar ao HSM:', error);
}
}

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