Перевод не завершен. Пожалуйста, помогите перевести эту статью с английского.

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

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

The Web Crypto API is an interface allowing a script to use cryptographic primitives in order to build systems using cryptography.

A fundamental feature of this API is to allow the manipulation and storage of private and secret keys without requiring the underlying bits of the key to be made available to JavaScript.

This interface allows a script to access the following primitives:

  • 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 and verify, the ability to digitally sign a document, and to verify a signature.
  • encrypt and decrypt, the ability to encode or decode a document.
  • import and 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, the ability to generate cryptographically sound pseudo-random numbers.

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

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


  • The mere use of cryptography doesn't make your system secure. Security is a process that constantly evaluates the risks a system incurs in its context of use. The context and the risks experienced evolve over time.
  • 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.


The Web Crypto API can be used:

  • to verify that data has not been tampered with by a third-party. Even if the data is stored in the clear, the storage of a signature, generated from a password, allows the people knowing the password to know that it is genuine.


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 ?

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

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