SubtleCrypto

Baseline Widely available *

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

* Some parts of this feature may have varying levels of support.

Интерфейс SubtileCrypto представляет набор криптографических примитивов. Экземпляр SubtileCrypto доступен как Crypto.subtle, в контексте window (Window.crypto).

Предупреждение: Per the spec: "Developers making use of the SubtleCrypto interface are expected to be aware of the security concerns associated with both the design and implementation of the various algorithms provided. The raw algorithms are provided in order to allow developers maximum flexibility in implementing a variety of protocols and applications, each of which may represent the composition and security parameters in a unique manner that necessitate the use of the raw algorithms."

Свойства

Интерфейс не наследует и не определяет собственные свойства.

Методы

SubtleCrypto.encrypt()

Возвращает Promise с данными, зашифрованными на основании исходного текста, алгоритма шифрования и ключа, переданных в качества аргументов.

SubtleCrypto.decrypt()

Возвращает Promise с исходным текстом. В качества аргументов принимает зашифрованную строку, алгоритм шифрования и ключ.

SubtleCrypto.sign()

Возвращает Promise с сигнатурой, полученной на основании текста, алгоритма шифрования и ключа, переданных в качества аргументов.

SubtleCrypto.verify()

Возвращает Promise с Boolean значением, определяющим соответствует ли переданная сигнатура тексу, алгоритму шифрования и ключу, также переданным в качества аргументов.

SubtleCrypto.digest()

Возвращает Promise с хеш-суммой сгенерированной на основании алгоритма шифрования и исходного текста, переданных в качества аргументов

SubtleCrypto.generateKey()

Возвращает Promise с сгенерированным CryptoKey для симметричных алгоритмов, или CryptoKeyPair для асимметричных алгоритмов.

SubtleCrypto.deriveKey()

Возвращает Promise с сгенерированным CryptoKey, на основе переданных в качестве аргументов мастер-ключа и алгоритма шифрования.

SubtleCrypto.deriveBits()

Возвращает Promise с буфером псевдо-случайных бит, полученных на основании мастер-ключа и алгоритма шифрования, переданных в качества аргументов.

SubtleCrypto.importKey()

Returns a Promise of a CryptoKey corresponding to the format, the algorithm, the raw key data, the usages and the extractability given as parameters.

SubtleCrypto.exportKey()

Returns a Promise of a buffer containing the key in the format requested.

SubtleCrypto.wrapKey()

Returns a Promise of a wrapped symmetric key for usage (transfer, storage) in insecure environments. The wrapped buffer returned is in the format given in parameters, and contains the key wrapped by the given wrapping key with the given algorithm.

SubtleCrypto.unwrapKey()

Returns a Promise of a CryptoKey corresponding to the wrapped key given in parameter.

Спецификации

Specification
Web Cryptography API
# subtlecrypto-interface

Совместимость с браузерами

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
SubtleCrypto
decrypt
deriveBits
X25519 algorithm
deriveKey
AES as derivedKeyAlgorithm option value
HKDF as derivedKeyAlgorithm option value
HMAC as derivedKeyAlgorithm option value
PBKDF2 as derivedKeyAlgorithm option value
X25519 algorithm
digest
encrypt
exportKey
Ed25519 algorithm
X25519 algorithm
generateKey
Ed25519 algorithm
X25519 algorithm
importKey
Ed25519 algorithm
X25519 algorithm
Secure context required
sign
Ed25519 algorithm
unwrapKey
verify
Ed25519 algorithm
Available in workers
wrapKey

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.
User must explicitly enable this feature.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Смотрите также