Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
JsonWebKey
The JsonWebKey
object represents object/dictionary generated by exporting a
CryptoKey
or used as an input parameter for key import.
The properties of the JsonWebKey
could vary depending on the algorithm and key type. See specification
JsonWebKey for details.
Properties
Example
import { crypto } from 'k6/experimental/webcrypto';
export default async function () {
const jwk = {
alg: 'HS256',
ext: true,
k: 'H6gLp3lw7w27NrPUn00WpcKU-IJojJdNzhL_8F6se2k',
key_ops: ['sign', 'verify'],
kty: 'oct',
};
const importedKey = await crypto.subtle.importKey(
'jwk',
jwk,
{ name: 'HMAC', hash: { name: 'SHA-256' } },
true,
['sign', 'verify']
);
const exportedAgain = await crypto.subtle.exportKey('jwk', importedKey);
console.log('exported again: ' + JSON.stringify(exportedAgain));
// should print
// INFO[0000] exported again: {"k":"H6gLp3lw7w27NrPUn00WpcKU-IJojJdNzhL_8F6se2k","kty":"oct","ext":true,"key_ops":["sign","verify"],"alg":"HS256"} source=console
}