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.
Note: This feature is available in Web Workers.
The read-only algorithm property of the CryptoKey interface returns an object describing the algorithm for which this key can be used, and any associated extra parameters.
The object returned depends of the algorithm used to generate the key.
An object matching:
AesKeyGenParams if the algorithm is any of the AES variants.RsaHashedKeyGenParams if the algorithm is any of the RSA variants.EcKeyGenParams if the algorithm is any of the EC variants.HmacKeyGenParams if the algorithm is HMAC.For RsaHashedKeyGenParams and HmacKeyGenParams, the hash property is always in the object form (with a property called name), not the string form.
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(`This key is to be used with the ${key.algorithm} algorithm.`);
| Specification |
|---|
| Web Cryptography Level 2> # dom-cryptokey-algorithm> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
algorithm |
37 | 12 | 34 | 24 | 7 | 37 | 34 | 24 | 7 | 3.0 | 37 | 7 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/algorithm