This repository has been archived on 2024-01-23. You can view files and clone it, but cannot push or open issues or pull requests.
Jason A. Donenfeld 3314030d57 Revert "contrib: keygen-html: rewrite in pure javascript"
This reverts commit e5203543a674453ce1e0cbbcb234d3308762fe65.

As swanky as it is to have a really short file, it's hard to justify and
makes me nervous.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2018-03-02 16:42:29 +01:00
..
2017-12-12 01:18:30 +01:00
2017-12-12 01:18:30 +01:00

WireGuard Key Generation in JavaScript
======================================

Various people believe in JavaScript crypto, unfortunately. This small
example helps them fuel their poor taste.

It's possible to generate WireGuard keys (and thus configurations) in the
browser. The webpage here simulates talking to a server to exchange keys
and then generates a configuration file for the user to download.

Bugs
----

Who knows how emscripten actually compiles this and whether or not it
introduces interesting side-channel attacks.

Secrets aren't zerored after use. Maybe you can get around this with
some tricks taking advantage of browser allocator behavior and different
processes, but it seems pretty hard.

Building
--------

In order to use the example `keygen.html` file, you must first build
the C sources using emscripten. Simply run:

    $ make