pub struct Sas { /* private fields */ }
Expand description
A struct representing a short auth string verification object.
This object can be used to establish a shared secret to perform the short auth string based key verification.
Implementations§
Source§impl Sas
impl Sas
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new random verification object
This creates an ephemeral curve25519 keypair that can be used to establish a shared secret.
Sourcepub const fn public_key(&self) -> Curve25519PublicKey
pub const fn public_key(&self) -> Curve25519PublicKey
Get the public key that can be used to establish a shared secret.
Sourcepub fn diffie_hellman(
self,
their_public_key: Curve25519PublicKey,
) -> Result<EstablishedSas, KeyError>
pub fn diffie_hellman( self, their_public_key: Curve25519PublicKey, ) -> Result<EstablishedSas, KeyError>
Establishes a SAS secret by performing a DH handshake with another public key.
Returns an EstablishedSas
object which can be used to generate
SasBytes
if the given public key was valid, otherwise None
.
Sourcepub fn diffie_hellman_with_raw(
self,
other_public_key: &str,
) -> Result<EstablishedSas, KeyError>
pub fn diffie_hellman_with_raw( self, other_public_key: &str, ) -> Result<EstablishedSas, KeyError>
Establishes a SAS secret by performing a DH handshake with another public key in “raw”, base64-encoded form.
Returns an EstablishedSas
object which can be used to generate
SasBytes
if the received public key is valid, otherwise None
.