End-to-end encrypted instant web chat
This release removes any externally loaded dependencies like JS libs, fonts, and images and instead serves them locally.
For webkit support, I removed the public/private signing keys and replaced them with a symmetric HMAC signing key. It achieves the same thing and besides adding webkit support, is also a bit cleaner.
Webkit handles key export is a non-standard way, so with this shim we have to export and import public keys in “spki” format. Webkit also requires slightly different options to be passed in for some operations.
Darkwire now uses the Crypto web API for key generation, encryption and decryption. Browsers lacking support for this API can't use the app.
Initial release