smart_ims/tools/generate_keys.cjs
2026-01-22 23:42:55 +09:00

29 lines
797 B
JavaScript

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)');