Web Cryptography
JavaScript API for performing basic cryptographic operations in web applications
IE | Edge | Firefox | Chrome | Safari | Opera | iOS Safari | Opera Mini | Android Browser | Blackberry Browser | Opera Mobile | Chrome for Android | Firefox for Android | IE Mobile | UC Browser for Android | Samsung Internet | QQ Browser | Baidu Browser |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
49 | |||||||||||||||||
56 | 9.3webkit
See notes:
|
4.4 | |||||||||||||||
14 | 52 | 57 | 10webkit
See notes:
|
10.0-10.2webkit
See notes:
|
4.4.3-4.4.4 | 4 | |||||||||||
11ms
See notes:
|
15 | 53 | 58 | 10.1webkit
See notes:
|
44 | 10.3webkit
See notes:
|
all | 56 | 10 | 37 | 57 | 52 | 11ms
See notes:
|
11.4 | 5 | 1.2 | 7.12 |
54 | 59 | TPwebkit
See notes:
|
45 | ||||||||||||||
55 | 60 | 46 | |||||||||||||||
56 | 61 |
Notes
Many browsers support the [crypto.getRandomValues()](#feat=getrandomvalues)
method, but not actual cryptography functionality under crypto.subtle
.
Firefox also has support for unofficial features.
In Chrome the API is only usable over secure connections. (corresponding bug)
-
1
Support in IE11 is based an older version of the specification.
-
2
Supported in Firefox behind the
dom.webcrypto.enabled
flag. -
3
Supported in Safari using the
crypto.webkitSubtle
prefix.
Links
The History and Status of Web Crypto API
Microsoft Research JavaScript Cryptography Library
Cross-browser cryptography library
Support for recommended algorithms in Firefox
Polyfill by Netflix with partial support
PKI.js - another crypto library for Public Key Infrastructure applications
Test suite for various algorithms/methods
Web Cryptography API shim for IE11 and Safari - set of bugfixes and workarounds of prefixed api implementations
Mozilla Developer Network (MDN) documentation - Web Crypto API