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.
Modules§
- hs_ntor
- Implements the HS ntor key exchange, as used in v3 onion services.
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.
Traits§
- KeyGenerator
- A KeyGenerator is returned by a handshake, and used to generate session keys for the protocol.
Functions§
- construct 🔒
- Helper: Construct a BoxedClientLayer for a layer type L whose inbound and outbound cryptographic states are the same type.