De key_export_asym_priv.js
// 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 exportAsymmetricPriv() {
// Connecta ao HSM
const conn = await hsm.connect(options);
const keyName = 'myPrivKeyToExp';
const created = await conn.key.create(
keyName, // Nome da chave
hsm.enums.RSA_ASYMMETRIC_KEYS.ALG_RSA_2048, // Algoritmo da chave
true, // Se é exportável
true // Se é temporária
);
if (created) {
console.log(`Key "${keyName}" created successfull`)
const bufferData = await conn.key.exportAsymmetricPriv(
keyName // Nome da chave
);
console.log('Private Key:', bufferData.toString('hex'))
} else {
console.log("Key not imported")
}
// Desconecta do HSM
await conn.disconnect();
}
// Execute a função exportAsymmetricPriv
exportAsymmetricPriv();