26 lines
2.2 KiB
JavaScript
26 lines
2.2 KiB
JavaScript
import * as plugins from './smartcrypto.plugins.js';
|
|
import { PublicKey } from './smartcrypto.classes.publickey.js';
|
|
import { PrivateKey } from './smartcrypto.classes.privatekey.js';
|
|
export class KeyPair {
|
|
// STATIC
|
|
static async createNewKeyPair() {
|
|
const done = plugins.smartpromise.defer();
|
|
const rsa = plugins.nodeForge.pki.rsa;
|
|
rsa.generateKeyPair({ bits: 2048, workers: 2 }, async (err, keypair) => {
|
|
if (err) {
|
|
console.log(err);
|
|
throw err;
|
|
}
|
|
done.resolve(new KeyPair({
|
|
privateKey: new PrivateKey(keypair.privateKey),
|
|
publicKey: new PublicKey(keypair.publicKey),
|
|
}));
|
|
});
|
|
return done.promise;
|
|
}
|
|
constructor(optionsArg) {
|
|
this.privateKey = optionsArg.privateKey;
|
|
this.publicKey = optionsArg.publicKey;
|
|
}
|
|
}
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRjcnlwdG8uY2xhc3Nlcy5rZXlwYWlyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvc21hcnRjcnlwdG8uY2xhc3Nlcy5rZXlwYWlyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVqRSxNQUFNLE9BQU8sT0FBTztJQUNsQixTQUFTO0lBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7UUFDbEMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQVcsQ0FBQztRQUNuRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFDdEMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDckUsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDakIsTUFBTSxHQUFHLENBQUM7YUFDWDtZQUVELElBQUksQ0FBQyxPQUFPLENBQ1YsSUFBSSxPQUFPLENBQUM7Z0JBQ1YsVUFBVSxFQUFFLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7Z0JBQzlDLFNBQVMsRUFBRSxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2FBQzVDLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQU1ELFlBQVksVUFBNEQ7UUFDdEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztJQUN4QyxDQUFDO0NBQ0YifQ==
|