Skip to main content

Module handshake

Module handshake 

Source
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§

BoxedClientLayer 🔒
A set of type-erased cryptographic layers to use for a single hop at a client.
ResponderInboundLayer 🔒
Wrapper to make a relay layer behave as a client layer.
ResponderOutboundLayer 🔒
Wrapper to make a relay layer behave as a client layer.

Enums§

HandshakeRole
What role we are playing in a handshake.
RelayCryptLayerProtocol 🔒
Internal counterpart of RelayProtocol; includes variants that can’t be negotiated from extend_virtual.
RelayProtocol
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.