В процессе перевода.

Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Черновик
Эта страница не завершена.

Web Crypto API – интерфейс, позволяющий использовать криптографические примитивы для построения систем, манипулировать, хранить секретные ключи без необходимости делать доступными базовые биты ключа для JavaScript.

Интерфейс открывает доступ к следующим примитивам:

  • digest, the ability to compute a hash of an arbitrary block of data, in order to detect any change in it.
  • mac, the ability to compute a message authentication code.
  • sign и verify, the ability to digitally sign a document, and to verify a signature.
  • encrypt и decrypt, the ability to encode or decode a document.
  • import и export, the ability to import a key or export a key.
  • key generation, the ability to create a cryptographically secure key, or key pair, without the use of base key, but using the available entropy of the local system.
  • key wrapping and unwrapping, the ability to transmit, and to receive, a key from a third party, encoded using another key, without exposing the underlying key to JavaScript.
  • random, способность генерировать криптографически достоверные псевдослучайные числа.

Web Crypto API не решает всех проблем, которые касаются использования криптографии на Web-сайтах или приложениях:

  • Она не заменяет "собственной модели безопасности" браузера (когда на некоторых Web-сайтах используются свои собственные ключи).
  • Оно не взаимодействует со специальным аппаратным обеспечением (смарт-карты, USB-ключи или генераторы случайных чисел).

Внимание!

  • Само по себе использование криптографии не делает систему безопасной. Безопасность – это процесс постоянной оценки рисков, возникающих в контексте эксплуатации системы. Контекст, как и риски, изменяются с течением времени.
  • When dealing with security, the whole system must be considered. In the case of the Web Crypto API, Web developers shouldn't consider only the security of the script, but the security of the connection to the server, because using Web Crypto over HTTP is not secure. The overall security can't be stronger than the security of the weakest part of the overall system.

Интерфейсы

Some browsers implemented an interface called Crypto without having it well defined or being cryptographically sound. In order to avoid confusion, methods and properties of this interface have been removed from browsers implementing the Web Crypto API, and all Web Crypto API methods are available on a new interface: SubtleCrypto. The Crypto.subtle property gives access to an object implementing it.

Использование

Web Crypto API может использоваться для:

  • того, чтобы удостовериться в том, что данные не подделаны третьей стороной. Если информация хранится в открытом хранилище, подпись, сгенерированная с помощью пароля, позволяет людям, знающим пароль, выяснить, имеют ли они дело с оригинальными значениями или же нет.

Specifications

Specification Status Comment
Web Cryptography API Рекомендация Initial definition

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

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!
Функция Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)

Поддержка основных свойств

37 ? ? 24 ?
Feature Android Webview Chrome for Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile
Поддержка основных свойств Нет 37 ? ? ? 24 ?

Метки документа и участники

Внесли вклад в эту страницу: mdnwebdocs-bot, Zlaty, thesiv95
Обновлялась последний раз: mdnwebdocs-bot,