このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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) でのみ利用できます。
extractable はCryptoKey インターフェイスの読み取り専用プロパティで、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> |