Module handshake

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

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.

Functions§

construct 🔒
Helper: Construct a BoxedClientLayer for a layer type L whose inbound and outbound cryptographic states are the same type.