Struct diem_crypto::noise::NoiseConfig [−][src]
pub struct NoiseConfig { /* fields omitted */ }
Expand description
A key holder structure used for both initiators and responders.
Implementations
A peer must create a NoiseConfig through this function before being able to connect with other peers.
Handy getter to access the configuration’s public key
An initiator can use this function to initiate a handshake with a known responder.
pub fn finalize_connection(
&self,
handshake_state: InitiatorHandshakeState,
received_message: &[u8]
) -> Result<(Vec<u8>, NoiseSession), NoiseError>
pub fn finalize_connection(
&self,
handshake_state: InitiatorHandshakeState,
received_message: &[u8]
) -> Result<(Vec<u8>, NoiseSession), NoiseError>
A client can call this to finalize a connection, after receiving an answer from a server.
A responder can accept a connection by first parsing an initiator message. The function respond_to_client is usually called after this to respond to the initiator.
pub fn respond_to_client(
&self,
rng: &mut impl RngCore + CryptoRng,
handshake_state: ResponderHandshakeState,
payload: Option<&[u8]>,
response_buffer: &mut [u8]
) -> Result<NoiseSession, NoiseError>
pub fn respond_to_client(
&self,
rng: &mut impl RngCore + CryptoRng,
handshake_state: ResponderHandshakeState,
payload: Option<&[u8]>,
response_buffer: &mut [u8]
) -> Result<NoiseSession, NoiseError>
A responder can respond to an initiator by calling this function with the state obtained, after calling parse_client_init_message
This function is a one-call that replaces calling the two functions parse_client_init_message and respond_to_client consecutively