17d965e894
Previously, the Arti key store would store x25519 secret keys as ed25519 OpenSSH keys, which it would convert to x25519 upon loading (using the conversion function added in !1297 (merged)). This approach isn't good enough though: most people will probably want to bring their existing x25519 keys, and in order to store those in OpenSSH format, we'd need convert them to ed25519, which is impossible (because the secret part of an x25519 key contains a SHA512'd secret, whereas the corresponding, "un-expanded", ed25519 secret key contains the secret itself rather than the SHA). Now that `ssh-key` has support for ssh keys with [custom algorithm names], we can store x25519 in OpenSSH format directly. This commit changes the storage format used by the keymgr for x25519 client auth keys (from ed25519-ssh to our own custom key type with an algorithm name of `"x25519@torproject.org"`). Closes #936 [custom algorithm names]: https://github.com/RustCrypto/SSH/pull/136 |
||
---|---|---|
.. | ||
conf | ||
shadow.data.template/hosts | ||
README.md | ||
run.sh | ||
shadow.yaml |
README.md
Shadow-based integration test
This is an integration test for arti that uses the
shadow simulator. It creates a simulation of a
small Tor network, uses the arti
client to perform some transfers across this
simulated network, and validates that the transfers succeeded.
Running locally
To run locally, you'll need to install shadow itself somewhere on our PATH
,
following shadow's installation
instructions.
Next you'll need to install executables that will run inside the simulation, in the
locations where shadow.yaml
expects to find them.
-
Ensure
tgen
is on your PATH. -
Ensure
tor
is on your PATH. Typically you can install it using your host system's package manager. -
Build the
arti
client for targetx86_64-unknown-linux-gnu
, so that the binary is at:../../target/x86_64-unknown-linux-gnu/debug/arti
.
Once those are installed, you can invoke the run.sh
script from
this directory.