Build a SubtleCrypto backed by audited pure-JS primitives, for a page the
browser does not consider a secure context (plain HTTP over Tor or another
overlay network), where crypto.subtle is undefined.
Covers what the shell's dependencies call: digest (SHA-1/256/384/512);
HMAC and Ed25519 sign/verify; AES-GCM (128-bit tag) and AES-CBC
encrypt/decrypt; X25519 and HKDF deriveBits; Ed25519 and X25519 keys
in raw, pkcs8 and jwk; AES and HMAC keys in raw and jwk. Anything
else rejects with NotSupportedError.
Returns SubtleCrypto
A SubtleCrypto whose keys only work with this instance.
Build a
SubtleCryptobacked by audited pure-JS primitives, for a page the browser does not consider a secure context (plain HTTP over Tor or another overlay network), wherecrypto.subtleis undefined.Covers what the shell's dependencies call:
digest(SHA-1/256/384/512); HMAC and Ed25519sign/verify; AES-GCM (128-bit tag) and AES-CBCencrypt/decrypt; X25519 and HKDFderiveBits; Ed25519 and X25519 keys inraw,pkcs8andjwk; AES and HMAC keys inrawandjwk. Anything else rejects withNotSupportedError.