Function generateKeyPairSync

  • 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.

    When encoding public keys, it is recommended to use 'spki'. When encoding private keys, it is recommended to use 'pkcs8' with a strong passphrase, and to keep the passphrase confidential.

    const {
    generateKeyPairSync,
    } = await import('node:crypto');

    const {
    publicKey,
    privateKey,
    } = generateKeyPairSync('rsa', {
    modulusLength: 4096,
    publicKeyEncoding: {
    type: 'spki',
    format: 'pem',
    },
    privateKeyEncoding: {
    type: 'pkcs8',
    format: 'pem',
    cipher: 'aes-256-cbc',
    passphrase: 'top secret',
    },
    });

    The return value { publicKey, privateKey } represents the generated key pair. When PEM encoding was selected, the respective key will be a string, otherwise it will be a buffer containing the data encoded as DER.

    Parameters

    • type: "rsa"

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

    • options: RSAKeyPairOptions<"pem", "pem">

    Returns KeyPairSyncResult<string, string>

    v10.12.0

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult

  • Parameters

    Returns KeyPairSyncResult<string, string>

  • Parameters

    Returns KeyPairSyncResult<string, Buffer>

  • Parameters

    Returns KeyPairSyncResult<Buffer, string>

  • Parameters

    Returns KeyPairSyncResult<Buffer, Buffer>

  • Parameters

    Returns KeyPairKeyObjectResult