29 lines
797 B
JavaScript
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)');
|