method SubtleCrypto.generateKey
Overload 1
#SubtleCrypto.generateKey(): Promise<CryptoKeyPair>Generates an asymmetric cryptographic key pair for encryption, signing, or key exchange.
This overload is used for generating key pairs with RSA or elliptic curve algorithms.
Examples #
#
// RSA key generation
const key = await crypto.subtle.generateKey(
  {
    name: "RSA-OAEP",
    modulusLength: 4096,
    publicExponent: new Uint8Array([1, 0, 1]),
    hash: "SHA-256",
  },
  true,
  ["encrypt", "decrypt"]
);
      
    #
// Elliptic curve (ECDSA) key pair generation
const key = await crypto.subtle.generateKey(
  {
    name: "ECDSA",
    namedCurve: "P-384",
  },
  true,
  ["sign", "verify"]
);
      
    Parameters #
Return Type #
Promise<CryptoKeyPair> See #
Overload 2
#SubtleCrypto.generateKey(): Promise<CryptoKey>Overload 3
#SubtleCrypto.generateKey(): Promise<CryptoKeyPair | CryptoKey>Generates a cryptographic key or key pair for a given algorithm.
This generic overload handles any key generation request, returning either a symmetric key or an asymmetric key pair based on the provided algorithm.
Parameters #
Return Type #
Promise<CryptoKeyPair | CryptoKey>