const crypto = require('crypto'); const fs = require('fs'); const path = require('path'); const keysDir = path.join(__dirname, 'keys'); if (!fs.existsSync(keysDir)) { fs.mkdirSync(keysDir); } const { privateKey, publicKey } = crypto.generateKeyPairSync('rsa', { modulusLength: 2048, publicKeyEncoding: { type: 'spki', format: 'pem' }, privateKeyEncoding: { type: 'pkcs8', format: 'pem' } }); fs.writeFileSync(path.join(keysDir, 'private_key.pem'), privateKey); fs.writeFileSync(path.join(keysDir, 'public_key.pem'), publicKey); console.log('Keys generated successfully in tools/keys/'); console.log(' - private_key.pem (KEEP SECRET! For generating licenses)'); console.log(' - public_key.pem (Deploy this to server for verification)');