CryptoKey: usages property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
The read-only usages
property of the CryptoKey
interface indicates what can be done with the key.
Value
An Array
of strings from the following list:
"encrypt"
: The key may be used to encrypt messages."decrypt"
: The key may be used to decrypt messages."sign"
: The key may be used to sign messages."verify"
: The key may be used to verify signatures."deriveKey"
: The key may be used in deriving a new key."deriveBits"
: The key may be used in deriving bits."wrapKey"
: The key may be used to wrap a key."unwrapKey"
: The key may be used to unwrap a key.
Examples
js
const rawKey = window.crypto.getRandomValues(new Uint8Array(16));
// Import an AES secret key from an ArrayBuffer containing the raw bytes.
// Takes an ArrayBuffer string containing the bytes, and returns a Promise
// that will resolve to a CryptoKey representing the secret key.
function importSecretKey(rawKey) {
return window.crypto.subtle.importKey("raw", rawKey, "AES-GCM", true, [
"encrypt",
"decrypt",
]);
}
const key = importSecretKey(rawKey);
console.log(
`The following usages are reported for this key: ${key.usages.toString()}`,
);
Specifications
Specification |
---|
Web Cryptography API # dom-cryptokey-usages |
Browser compatibility
BCD tables only load in the browser