CryptoKey: свойство extractable
Базовая линия Широко доступно
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS), в некоторых или во всех поддерживающих браузерах.
Примечание: Эта функция доступна в Web Workers.
Только для чтения extractable свойство интерфейса CryptoKey указывает, можно ли извлечь ключ с помощью SubtleCrypto.exportKey() или SubtleCrypto.wrapKey().
Если ключ нельзя экспортировать, exportKey() или wrapKey() выбросят исключение при его извлечении.
Значение
Булево значение, которое равно true , если ключ можно экспортировать, и false , если нет.
Примеры
В этом примере кнопка Экспорт отключена, и никакой обработчик не добавлен, если ключ нельзя экспортировать.
// 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 Cryptography API # dom-cryptokey-extractable |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
extractable |
37 | 12 | 34 | 24 | 7 | 37 | 34 | 24 | 7 | 3.0 | 37 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey/extractable