CryptoKey: usages プロパティ

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.

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

usagesCryptoKey インターフェイスの読み取り専用プロパティで、そのキーで何ができるかを示します。

以下のリストにある文字列の配列 (Array) です。

  • "encrypt": このキーはメッセージの暗号化に使うことができます。
  • "decrypt": このキーはメッセージの復号に使うことができます。
  • "sign": このキーはメッセージの署名に使うことができます。
  • "verify": このキーは署名の検証に使うことができます。
  • "deriveKey": このキーは新しいキーの導出に使うことができます。
  • "deriveBits": このキーはビット列の導出に使うことができます。
  • "wrapKey": このキーはキーのラップに使うことができます。
  • "unwrapKey": このキーはキーのアンラップに使うことができます。

js
const rawKey = window.crypto.getRandomValues(new Uint8Array(16));

// 生のバイト列を格納する ArrayBuffer から AES 秘密鍵をインポートする
// バイト列を格納する ArrayBuffer 文字列を引数にとり、
// 秘密鍵を表す CryptoKey に解決するプロミスを返す
function importSecretKey(rawKey) {
  return window.crypto.subtle.importKey("raw", rawKey, "AES-GCM", true, [
    "encrypt",
    "decrypt",
  ]);
}

const key = importSecretKey(rawKey);
console.log(`このキーの使い方は ${key.usages.toString()} です。`);

仕様書

Specification
Web Cryptography API
# dom-cryptokey-usages

ブラウザーの互換性

BCD tables only load in the browser