Back to Content

CryptoKey

files/en-us/web/api/cryptokey/index.md

latest2.7 KB
Original Source

{{APIRef("Web Crypto API")}}{{SecureContext_header}}{{AvailableInWorkers}}

The CryptoKey interface of the Web Crypto API represents a cryptographic {{glossary("key")}} obtained from one of the {{domxref("SubtleCrypto")}} methods {{domxref("SubtleCrypto.generateKey", "generateKey()")}}, {{domxref("SubtleCrypto.deriveKey", "deriveKey()")}}, {{domxref("SubtleCrypto.importKey", "importKey()")}}, or {{domxref("SubtleCrypto.unwrapKey", "unwrapKey()")}}.

For security reasons, the CryptoKey interface can only be used in a secure context.

Instance properties

  • {{domxref("CryptoKey.type")}} {{ReadOnlyInline}}

    • : The type of key the object represents. It may take one of the following values: "secret", "private" or "public".
  • {{domxref("CryptoKey.extractable")}} {{ReadOnlyInline}}

  • {{domxref("CryptoKey.algorithm")}} {{ReadOnlyInline}}

    • : An object describing the algorithm for which this key can be used and any associated extra parameters.
  • {{domxref("CryptoKey.usages")}} {{ReadOnlyInline}}

    • : An {{jsxref("Array")}} of strings, indicating what can be done with the key. Possible values for array elements are "encrypt", "decrypt", "sign", "verify", "deriveKey", "deriveBits", "wrapKey", and "unwrapKey".

Examples

The examples for SubtleCrypto methods often use CryptoKey objects. For example:

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also