// Define os parâmetros de conexão com o HSM constoptions = { host:"127.0.0.1", authUsernamePassword: { username:"master", password:"12345678", }, };
asyncfunctionrsaSign() { // Connecta ao HSM constconn = awaithsm.connect(options);
// Dados a serem assinados constdata = "Data to be signed"; consthash = crypto.createHash("sha256"); consthashedData = awaithash.update(data).digest();
// Nome da chave constkeyName = "myRsaSignKey";
// Cria a chave RSA constkeyCreated = awaitconn.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 );
// Efetua a assinatura RSA constsignature = awaitconn.cryptography.rsaSign( keyName, // Nome da chave hsm.enums.HASH_ALGORITHMS.ALG_SHA2_256, // Algoritmo de hash hashedData, // Dados a serem assinados hsm.enums.PAD_TYPE.PKCS1_V1_5// Padding da assinatura );