JsonWebKey
JsonWebKey 对象表示通过导出 CryptoKey
生成或用作密钥导入输入参数的对象/字典。
JsonWebKey 的属性可能因算法和密钥类型而异。有关详情,请参阅规范 JsonWebKey。
属性
属性 | 类型 | 描述 |
---|---|---|
kty | 字符串 | 密钥类型。 |
k | 字符串 | 密钥值。 |
alg | 字符串 | 算法。 |
ext | 布尔值 | 密钥是可提取的。 |
key_ops | 字符串 数组 | 密钥操作。 |
crv | 字符串 | 曲线名称。 |
x | 字符串 | x 坐标。 |
y | 字符串 | y 坐标。 |
d | 字符串 | 私钥。 |
示例
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
}