Available on crate feature
hs-common
only.Expand description
Features for manual invocation of Tor’s cryptographic circuit handshakes.
These features are used to implement onion services, by giving the onion service code more direct control over the lower-level pieces of the protocol.
Re-exports§
pub use crate::crypto::handshake::hs_ntor;
pub use crate::crypto::handshake::KeyGenerator;
Structs§
- Boxed
Client 🔒Layer - A set of type-erased cryptographic layers to use for a single hop at a client.
- Responder
Inbound 🔒Layer - Wrapper to make a relay layer behave as a client layer.
- Responder
Outbound 🔒Layer - Wrapper to make a relay layer behave as a client layer.
Enums§
- Handshake
Role - What role we are playing in a handshake.
- Relay
Crypt 🔒Layer Protocol - Internal counterpart of RelayProtocol; includes variants that can’t be
negotiated from
extend_virtual
. - Relay
Protocol - The relay protocol to use when extending a circuit manually with
Circuit::extend_virtual
.
Functions§
- construct 🔒
- Helper: Construct a BoxedClientLayer for a layer type L whose inbound and outbound cryptographic states are the same type.