36 lines
866 B
JavaScript
36 lines
866 B
JavaScript
|
#!/usr/bin/env node
|
||
|
'use strict';
|
||
|
|
||
|
var RSA = require('../').RSA;
|
||
|
var path = require('path');
|
||
|
var fs = require('fs');
|
||
|
|
||
|
var bitlen = 2048;
|
||
|
var exp = 65537;
|
||
|
var opts = { public: true, pem: true };
|
||
|
var cwd = process.cwd();
|
||
|
var privkeyPath = path.join(cwd, 'privkey.pem');
|
||
|
var pubkeyPath = path.join(cwd, 'pubkey.pem');
|
||
|
|
||
|
if (fs.existsSync(privkeyPath)) {
|
||
|
console.error(privkeyPath, "already exists");
|
||
|
process.exit(1);
|
||
|
}
|
||
|
|
||
|
RSA.generateKeypair(bitlen, exp, opts, function (err, keypair) {
|
||
|
console.info('');
|
||
|
console.info('');
|
||
|
|
||
|
fs.writeFileSync(privkeyPath, keypair.privateKeyPem, 'ascii');
|
||
|
console.info(privkeyPath + ':');
|
||
|
console.info('');
|
||
|
console.info(keypair.privateKeyPem);
|
||
|
|
||
|
console.info('');
|
||
|
|
||
|
fs.writeFileSync(pubkeyPath, keypair.publicKeyPem, 'ascii');
|
||
|
console.info(pubkeyPath + ':');
|
||
|
console.info('');
|
||
|
console.info(keypair.publicKeyPem);
|
||
|
});
|