CryptoKey:extractable 屬性
注意:此功能在 Web Workers 中可用。
CryptoKey 介面的只讀屬性 extractable 指示金鑰是否可以使用 SubtleCrypto.exportKey() 或 SubtleCrypto.wrapKey() 進行提取。
如果金鑰無法匯出,則在使用 exportKey() 或 wrapKey() 提取它時會丟擲異常。
值
一個布林值,如果金鑰可以匯出則為 true,否則為 false。
示例
在此示例中,如果金鑰無法匯出,則“匯出”按鈕將停用,並且不新增監聽器。
js
// Export the given key and write it into the "exported-key" space.
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}]`;
}
// Enable or disable the exportButton if the key is extractable or not
function setExportButton(key) {
const exportButton = document.querySelector(".raw");
// Disable the button if the key is not extractable
exportButton.disabled = !key.extractable;
if (key.extractable) {
// Add an event listener to extract the key
exportButton.addEventListener("click", () => {
exportCryptoKey(key);
});
}
}
// Generate an encrypt/decrypt secret key,
// then enable and set up an event listener on the "Export" button.
window.crypto.subtle
.generateKey(
{
name: "AES-GCM",
length: 256,
},
true,
["encrypt", "decrypt"],
)
.then(setExportButton(key));
規範
| 規範 |
|---|
| Web 加密級別 2 # dom-cryptokey-extractable |
瀏覽器相容性
載入中…