| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Add CI job integration-chutney-shadow
See merge request tpo/core/arti!2427
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We'll want this in the shadow-chutney test too.
No harm in just doing it for all jobs.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a wrapper script for running `tests/chutney/integration-e2e`
under shadow.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously `tests/chutney/setup` would locate *or install* chutney and
set `CHUTNEY_PATH` for itself. However that `CHUTNEY_PATH` wasn't
propagated to other steps or "up" to the new `integration-e2e` wrapper
script.
Tracking it in the arti.run along with other dynamic info lets us ensure
we consistently use the same chutney across steps, and in the higher
level `integration-e2e` script.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
It looks like it changed at some point. Rather than hard-coding,
just do the lookup locally and compare the tor-lookup result against
that.
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Having this in a script is a step towards being able to run exactly the
same test under shadow without duplicating this high-level logic.
It's also convenient for running the ci test locally.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
arti: Add hsc subcommands for key rotation and deletion
Closes #1475
See merge request tpo/core/arti!2435
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2435#note_3080452
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This new feature is experimental.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
By default `--key-type` is set to `restricted-discovery` so it can
omitted from these examples (omitting it makes the usage a bit clearer
IMO).
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Closes #1475
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Part of #1475
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This will be reused for `arti hsc key rotate`, which also outputs
the public key.
|
| | | | | | |
|
| |\ \ \ \ \
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
key-forge: Add curve25519 key wrapper macro
Closes #1619
See merge request tpo/core/arti!2430
|
| |/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Closes #1619
Signed-off-by: David Goulet <[email protected]>
|
| |\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
tor-key-forge: encapsulate `define_ed25519_keypair` macro dependencies
See merge request tpo/core/arti!2433
|
| | |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This re-exports the types/traits needed by the `define_ed25519_keypair`
macro so that the macro caller doesn't need to import a bunch of extra
packages in its Cargo.toml that it doesn't use, and so that the caller
doesn't need a `use prelude::*` before invoking the macro. This makes
the macro nicer to use for the caller, and should prevent the macro from
causing "cannot find ... in this scope" errors.
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
arti: Add hsc key subcommand, deprecate hsc get-key.
See merge request tpo/core/arti!2432
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
I am deprecating the old `hsc get-key` subcommand in favor of the new
`hsc key get` subcommand. This is because I plan to implement the rest
of the key management functionality (key deletion, rotation, etc.) as
subcommands of the `hsc key` command. The alternative would be to add a
new distinct top-level `hsc rotate-key`, `hsc remove-key`, etc.
subcommand alongside the existing `hsc get-key` command (which IMO is
less nice than the alternative I'm proposing).
|
| | | | |
| | | |
| | | |
| | | | |
These will be reused by a future `key rotate` subcommand.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
Otherwise, if/when we add support for other `KeyType`s we risk
forgetting to update the rest of the implementation.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| |/ / /
| | |
| | |
| | |
| | | |
The client will be used by future subcommands too, not just
`prepare_service_discovery_key`.
|
| |\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | | |
relay: Declare keys and add a KeyMgr to TorRelay
Closes #1604
See merge request tpo/core/arti!2411
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
A relay can't operate without a KeyMgr so enable it by default from the
tor-keymgr crate.
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | | |
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When creating the KeyMgr, attempt to create the long-term identity key
if none are found in the KeyMgr.
Until the KeyMgr has certificate support, we can't create the
certificate. Add a TODO comment item about future work needed there.
Related to #1604
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is the first step before creating relay key definition and storing
them into a keystore.
The KeyMgr should be passed on the ChanMgr in later commit so the
ChanMgr can use it for the authenticated channel handshake.
Part of #1604
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This adds a new crate called tor-relay-crypto which is responsible for
declaring the relay keys and certificate that will be used by a relay
and stored in a KeyMgr.
This is in its own crate and considered pretty low level so other crates
can use it to access the relay keys, like tor-proto, for cryptographic
actions like channel authentication or descriptor signing.
The lower level cryptographic keys are wrapped in a higher level object
in this crate, using tor-key-forge crate, so we can have proper semantic
and strong type check on those keys so they are not misused or confused
with other keys.
At this point, the key declaration might change once the KeyMgr supports
attaching a certificate to a key. We are likely going to see more code
related to certificate creation in this crate in the future.
Part of #1604
Signed-off-by: David Goulet <[email protected]>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Implement the signature::Signer and Ed25519PublicKey trait so the
ed25519 keypair wrapper can be easily used for certificate creation.
This also adds a to_ed25519_id() so we can get a Ed25519Identity which
is an object used around.
Finally, add a prelude module as the list of imports started to grow a
bit out of control.
Part of #1604
Signed-off-by: David Goulet <[email protected]>
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
tor-keymgr: Enable the keymgr feature by default.
See merge request tpo/core/arti!2428
|
| |/ /
| |
| |
| | |
`tor-keymgr` users now get the real keymgr implementation by default.
|
| |\ \
| | |
| | |
| | |
| | | |
tor-keymgr: put ephemeral keystore behind experimental "ephemeral-keystore" feature
See merge request tpo/core/arti!2426
|
| |/ /
| |
| |
| | |
Feature is named "ephemeral-keystore".
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
arti: Allow running hidden services with SOCKS/DNS proxying disabled.
Closes #1569
See merge request tpo/core/arti!2423
|