
Security Fundamentals
Obfuscation 101: Unmasking the Tricks Behind Malicious Code
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
webcrypto-shim
Advanced tools
Web Cryptography API shim for legacy browsers.
Install the package
$ bower install webcrypto-shim
and link scripts into your html code
<script src="bower_components/promiz/promiz.js"></script>
<script src="bower_components/webcrypto-shim/webcrypto-shim.js"></script>
Now you can use webcrypto api through the window.crypto
and window.crypto.subtle
objects.
Note that IE11 lacks support of Promise
-s and requires promiz.js to work properly. You can replace promiz.js with any Promise/A+-compatible implementation.
The library is targeted to fix these browsers having prefixed and buggy webcrypto api implementations:
These browsers have unprefixed and conforming webcrypto api implementations, so no need in shim:
SHA-256, SHA-384: digest
HMAC: sign
, verify
, generateKey
, importKey
, exportKey
AES-CBC: encrypt
, decrypt
, generateKey
, importKey
, exportKey
, wrapKey
, unwrapKey
AES-KW: generateKey
, importKey
, exportKey
, wrapKey
, unwrapKey
RSASSA-PKCS1-v1_5: sign
, verify
, generateKey
, importKey
, exportKey
RSA-OAEP: encrypt
, decrypt
, generateKey
, importKey
, exportKey
, wrapKey
, unwrapKey
"jwk"
format for wrapped/unwrapped keysderiveKey
, deriveBits
are not supported under IE11 and Safari since there is no implementation of any algorithm providing key derivation.
Under IE11 exception is thrown in case of empty input data since IE11 silently discards empty data and leaves returned Promise
object never resolved nor rejected.
See https://vibornoff.github.io/webcrypto-examples/index.html
BrowserStack — automated & manual crossbrowser testing solution.
FAQs
Web Cryptography API shim for legacy browsers
We found that webcrypto-shim demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.
Security News
Biome's v2.0 beta introduces custom plugins, domain-specific linting, and type-aware rules while laying groundwork for HTML support and embedded language features in 2025.