UNPKG

npm-package-nodejs-utils-lda

Version:

Este projeto tem como fins de criar e abstrair mรณdulos basicos e utilidades para o node js

50 lines (38 loc) โ€ข 1.54 kB
const { generateKeyPairSync } = require("crypto"); const fs = require("fs"); const path = require("path"); const config = fopen("config.json"); checkConfigIntegrity(); if (config.useEncryptationAES_RSA) { const keysDir = path.join(__dirname, "keys"); if (!fs.existsSync(keysDir)) { fs.mkdirSync(keysDir); const { publicKey, privateKey } = generateKeyPairSync("rsa", { modulusLength: 2048, publicKeyEncoding: { type: "spki", format: "pem" }, privateKeyEncoding: { type: "pkcs8", format: "pem" }, }); fs.writeFileSync(path.join(keysDir, "public.pem"), publicKey); fs.writeFileSync(path.join(keysDir, "private.pem"), privateKey); console.log("๐Ÿ” Chaves RSA geradas em ./keys"); } else { const pubKeyPath = path.join(keysDir, "public.pem"); const privKeyPath = path.join(keysDir, "private.pem"); if (!fs.existsSync(pubKeyPath) || !fs.existsSync(privKeyPath)) { const { publicKey, privateKey } = generateKeyPairSync("rsa", { modulusLength: 2048, publicKeyEncoding: { type: "spki", format: "pem" }, privateKeyEncoding: { type: "pkcs8", format: "pem" }, }); fs.writeFileSync(pubKeyPath, publicKey); fs.writeFileSync(privKeyPath, privateKey); console.log("๐Ÿ” Chaves RSA geradas em ./keys"); } } } function checkConfigIntegrity() { const configs = fopen("config.json"); if (!configs.useEncryptationAES_RSA) { configs.useEncryptationAES_RSA = true; } }