← 返回首页
CryptoKey: extractable プロパティ - Web API | MDN

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

CryptoKey: extractable プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2015年7月.

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

extractableCryptoKey インターフェイスの読み取り専用プロパティで、SubtleCrypto.exportKey() または SubtleCrypto.wrapKey() を使用してキーを抽出できるかどうかを示します。

キーがエクスポートできない場合は、 exportKey()wrapKey() では抽出しようとして例外を発生します。

In this article

論理値で、キーがエクスポート可能であれば true、不可能であれば false となります。

この例では、キーをエクスポートできない場合、「エクスポート」ボタンは無効になり、待ち受けするリスナーも追加されません。

js
// 指定されたキーをエクスポートし、"exported-key" 空間に書き込みます。 async function exportCryptoKey(key) { const exported = await window.crypto.subtle.exportKey("raw", key); const exportedKeyBuffer = new Uint8Array(exported); const exportKeyOutput = document.querySelector(".exported-key"); exportKeyOutput.textContent = `[${exportedKeyBuffer}]`; } // キーが抽出可能かどうかによって、exportButton を有効または無効にします。 function setExportButton(key) { const exportButton = document.querySelector(".raw"); // キーが抽出できない場合は、ボタンを無効にする exportButton.disabled = !key.extractable; if (key.extractable) { // イベントリスナーを追加してキーを抽出する exportButton.addEventListener("click", () => { exportCryptoKey(key); }); } } // 暗号化/復号する秘密鍵を生成する。 // 次に、「エクスポート」ボタンでイベントリスナーを有効にし、設定する。 window.crypto.subtle .generateKey( { name: "AES-GCM", length: 256, }, true, ["encrypt", "decrypt"], ) .then(setExportButton(key));

仕様書

Specification
Web Cryptography Level 2
# dom-cryptokey-extractable

ブラウザーの互換性

Enable JavaScript to view this browser compatibility table.