function generateKeyPair
Usage
import { generateKeyPair } from "node:crypto";
Generates a new asymmetric key pair of the given type. RSA, RSA-PSS, DSA, EC,
Ed25519, Ed448, X25519, X448, and DH are currently supported.
If a publicKeyEncoding or privateKeyEncoding was specified, this function
behaves as if keyObject.export() had been called on its result. Otherwise,
the respective part of the key is returned as a KeyObject.
It is recommended to encode public keys as 'spki' and private keys as'pkcs8' with encryption for long-term storage:
const { generateKeyPair, } = await import('node:crypto'); generateKeyPair('rsa', { modulusLength: 4096, publicKeyEncoding: { type: 'spki', format: 'pem', }, privateKeyEncoding: { type: 'pkcs8', format: 'pem', cipher: 'aes-256-cbc', passphrase: 'top secret', }, }, (err, publicKey, privateKey) => { // Handle errors and use the generated key pair. });
On completion, callback will be called with err set to undefined andpublicKey / privateKey representing the generated key pair.
If this method is invoked as its util.promisify() ed version, it returns
a Promise for an Object with publicKey and privateKey properties.
options: RSAKeyPairOptions<"pem", "pem">
options: RSAKeyPairOptions<"pem", "der">
options: RSAKeyPairOptions<"der", "pem">
options: RSAKeyPairOptions<"der", "der">
options: RSAKeyPairKeyObjectOptions
options: RSAPSSKeyPairOptions<"pem", "pem">
options: RSAPSSKeyPairOptions<"pem", "der">
options: RSAPSSKeyPairOptions<"der", "pem">
options: RSAPSSKeyPairOptions<"der", "der">
options: RSAPSSKeyPairKeyObjectOptions
options: DSAKeyPairOptions<"pem", "pem">
options: DSAKeyPairOptions<"pem", "der">
options: DSAKeyPairOptions<"der", "pem">
options: DSAKeyPairOptions<"der", "der">
options: DSAKeyPairKeyObjectOptions
options: ECKeyPairOptions<"pem", "pem">
options: ECKeyPairOptions<"pem", "der">
options: ECKeyPairOptions<"der", "pem">
options: ECKeyPairOptions<"der", "der">
options: ECKeyPairKeyObjectOptions
options: ED25519KeyPairOptions<"pem", "pem">
options: ED25519KeyPairOptions<"pem", "der">
options: ED25519KeyPairOptions<"der", "pem">
options: ED25519KeyPairOptions<"der", "der">
options: ED25519KeyPairKeyObjectOptions | undefined
options: ED448KeyPairOptions<"pem", "pem">
options: ED448KeyPairOptions<"pem", "der">
options: ED448KeyPairOptions<"der", "pem">
options: ED448KeyPairOptions<"der", "der">
options: ED448KeyPairKeyObjectOptions | undefined
options: X25519KeyPairOptions<"pem", "pem">
options: X25519KeyPairOptions<"pem", "der">
options: X25519KeyPairOptions<"der", "pem">
options: X25519KeyPairOptions<"der", "der">
options: X25519KeyPairKeyObjectOptions | undefined
options: X448KeyPairOptions<"pem", "pem">
options: X448KeyPairOptions<"pem", "der">
options: X448KeyPairOptions<"der", "pem">
options: X448KeyPairOptions<"der", "der">
options: X448KeyPairKeyObjectOptions | undefined