crypto-keygen-suite
Version:
Key generation utilities for cryptographic operations. YES I RENAMED IT. SIX STATE PROTOCOL!!! See its folder for all <3
25 lines (19 loc) • 816 B
JavaScript
import crypto from 'crypto';
function generateECCKeyPair(curve = 'prime256v1') {
try {
const { publicKey, privateKey } = crypto.generateKeyPairSync('ec', {
namedCurve: curve,
});
const pubKeyPEM = publicKey.export({ type: 'spki', format: 'pem' });
const privKeyPEM = privateKey.export({ type: 'pkcs8', format: 'pem' });
console.log(`=== ECC Key Pair (Curve: ${curve}) ===\n`);
console.log('Public Key:\n', pubKeyPEM.trim());
console.log('\nPrivate Key:\n', privKeyPEM.trim());
return { publicKey: pubKeyPEM, privateKey: privKeyPEM };
} catch (err) {
console.error('Error generating ECC key pair:', err.message);
}
}
// CLI support: node script.js [curveName]
const curveArg = process.argv[2] || 'prime256v1';
generateECCKeyPair(curveArg);