@haxall/haxall
    Preparing search index...

    Function generateKeyPair

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAKeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAKeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAKeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAKeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa-pss"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAPSSKeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa-pss"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAPSSKeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa-pss"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAPSSKeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "rsa-pss"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: RSAPSSKeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "dsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: DSAKeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "dsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: DSAKeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "dsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: DSAKeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "dsa"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: DSAKeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ec"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ECKeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ec"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ECKeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ec"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ECKeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ec"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ECKeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED25519KeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED25519KeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED25519KeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED25519KeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED448KeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED448KeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED448KeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "ed448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: ED448KeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X25519KeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X25519KeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X25519KeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x25519"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X25519KeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X448KeyPairOptions<"pem", "pem">
      • callback: (err: Error, publicKey: string, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X448KeyPairOptions<"pem", "der">
      • callback: (err: Error, publicKey: string, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X448KeyPairOptions<"der", "pem">
      • callback: (err: Error, publicKey: Buffer, privateKey: string) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      • type: "x448"

        Must be 'rsa', 'rsa-pss', 'dsa', 'ec', 'ed25519', 'ed448', 'x25519', 'x448', or 'dh'.

      • options: X448KeyPairOptions<"der", "der">
      • callback: (err: Error, publicKey: Buffer, privateKey: Buffer) => void

      Returns void

      v10.12.0

    • 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 and publicKey / 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.

      Parameters

      Returns void

      v10.12.0