Menu
Open source

generateKey

The generateKey() generates a new cryptographic key and returns it as a CryptoKey object that can be used with the Web Crypto API.

Usage

generateKey(algorithm, extractable, keyUsages)

Parameters

NameTypeDescription
algorithmstring,AesKeyGenParams or HmacKeyGenParamsThe type of key to generate. Can be either a string with any of the currently supported algorithms: AES-CBC, AES-GCM, AES-CTR, and HMAC as value, or any of the AesKeyGenParams or HmacKeyGenParams objects.
extractablebooleanWhether the key can be exported using exportKey.
keyUsagesArray<string>An array of strings describing what operations can be performed with the key. Currently supported usages include encrypt, decrypt, sign, and verify.

Return Value

A Promise that resolves with the generated key as a CryptoKey object.

Throws

TypeDescription
SyntaxErrorRaised when the keyUsages parameter is empty but the key is of type secret or private.

Example

JavaScript
import { crypto } from 'k6/experimental/webcrypto';

export default async function () {
  const key = await crypto.subtle.generateKey(
    {
      name: 'AES-CBC',
      length: 256,
    },
    true,
    ['encrypt', 'decrypt']
  );

  console.log(JSON.stringify(key));
}