Skip to main content

complete_handshake

Function complete_handshake 

Source
pub fn complete_handshake(
    identity: &Identity,
    pending: &PendingOffer,
    response: &HandshakeResponse,
    rng: &mut impl RandomSource,
) -> Result<Ratchet, Error>
Expand description

The initiator’s reaction to an inbound accept: verify the responder’s signature over its own ephemeral key, derive the X3DH secret, and decrypt boot to complete the receiving side of the ratchet.

The signature check happens before this function touches response.sik for anything other than that check, which is what makes it impossible to reach a fingerprint for an unverified peer through this function: Session::receive_accept only ever computes one from a HandshakeResponse this call already accepted.