1. 開発者向けのウェブ技術
  2. Web API
  3. CryptoKey
  4. extractable

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

View in English Always switch to English

CryptoKey: extractable プロパティ

Baseline 広く利用可能

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2015年7月以降、すべてのブラウザーで利用可能です。

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

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

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

論理値で、キーがエクスポート可能であれば 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));

仕様書

仕様書
Web Cryptography Level 2
# dom-cryptokey-extractable

ブラウザーの互換性

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /