Crate secret_handshake [−] [src]
Implementation of the secret-handshake protocol version 1.
This library uses libsodium internally. In application code, call
sodiumoxide::init()
before performing any handshakes.
Re-exports
pub use crypto::Outcome; |
pub use crypto::NETWORK_IDENTIFIER_BYTES; |
Modules
| crypto |
Low-level bindings to shs1-c. You probably don't need to use this module directly. |
| errors |
The errors that an be emitted when performing handshakes. |
Structs
| ClientHandshaker |
Performs the client side of a handshake. |
| OwningClientHandshaker |
Performs the client side of a handshake. This copies the keys so that it isn't constrainted by their lifetime. |
| OwningServerHandshaker |
Performs the server side of a handshake. This copies the keys so that it isn't constrainted by their lifetime. |
| OwningServerHandshakerWithFilter |
Performs the server side of a handshake. Allows filtering clients based on their longterm public key. This copies the keys so that it isn't constrainted by their lifetime. |
| ServerHandshaker |
Performs the server side of a handshake. |
| ServerHandshakerWithFilter |
Performs the server side of a handshake. Allows filtering clients based on their longterm public key. |
Enums
| ServerHandshakeError |
A fatal error that occured during the execution of a handshake by a filtering server. |
| ServerHandshakeFailureWithFilter |
Reason why a filtering server might reject the client although the handshake itself was executed without IO errors. |