Noise protocol framework support for libp2p.
This crate provides libp2p_core::InboundUpgrade
and libp2p_core::OutboundUpgrade
implementations for various noise handshake patterns (currently IK, IX, and XX)
over a particular choice of DH key agreement (currently only X25519).
All upgrades produce as output a pair, consisting of the remote's static public key
and a NoiseOutput
which represents the established cryptographic session with the
remote, implementing tokio_io::AsyncRead
and tokio_io::AsyncWrite
.
Usage
Example:
use libp2p_core::Transport;
use libp2p_tcp::TcpConfig;
use libp2p_noise::{Keypair, X25519, NoiseConfig};
# fn main() {
let keys = Keypair::<X25519>::new();
let transport = TcpConfig::new().with_upgrade(NoiseConfig::xx(keys));
// ...
# }