pub struct ServerLogin<CS: CipherSuite> { /* private fields */ }Expand description
The state elements the server holds to record a login
Implementations§
Source§impl<CS: CipherSuite> ServerLogin<CS>
impl<CS: CipherSuite> ServerLogin<CS>
Sourcepub fn serialize(
&self,
) -> GenericArray<u8, <<CS::KeyExchange as KeyExchange>::KE2State<CS> as Serialize>::Len>
pub fn serialize( &self, ) -> GenericArray<u8, <<CS::KeyExchange as KeyExchange>::KE2State<CS> as Serialize>::Len>
Serialization into bytes
Sourcepub fn deserialize(bytes: &[u8]) -> Result<Self, ProtocolError>
pub fn deserialize(bytes: &[u8]) -> Result<Self, ProtocolError>
Deserialization from bytes
Sourcepub fn builder_with_key_material<'a, R: Rng + CryptoRng, SK: Clone, OS: Clone>(
rng: &mut R,
server_setup: &ServerSetup<CS, SK, OS>,
key_material: GenericArray<u8, <<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen>,
password_file: Option<ServerRegistration<CS>>,
credential_request: CredentialRequest<CS>,
_: ServerLoginParameters<'a, 'a>,
) -> Result<ServerLoginBuilder<'a, CS, SK>, ProtocolError>
pub fn builder_with_key_material<'a, R: Rng + CryptoRng, SK: Clone, OS: Clone>( rng: &mut R, server_setup: &ServerSetup<CS, SK, OS>, key_material: GenericArray<u8, <<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen>, password_file: Option<ServerRegistration<CS>>, credential_request: CredentialRequest<CS>, _: ServerLoginParameters<'a, 'a>, ) -> Result<ServerLoginBuilder<'a, CS, SK>, ProtocolError>
Create a ServerLoginBuilder with a remote OPRF seed and private key.
To generate the key_material see
ServerSetup::key_material_info().
See ServerLogin::start() for the regular path. Or
ServerLogin::builder() with just a remote private key.
Sourcepub fn builder<'a, R: Rng + CryptoRng, SK: Clone>(
rng: &mut R,
server_setup: &ServerSetup<CS, SK>,
password_file: Option<ServerRegistration<CS>>,
credential_request: CredentialRequest<CS>,
credential_identifier: &[u8],
params: ServerLoginParameters<'a, 'a>,
) -> Result<ServerLoginBuilder<'a, CS, SK>, ProtocolError>
pub fn builder<'a, R: Rng + CryptoRng, SK: Clone>( rng: &mut R, server_setup: &ServerSetup<CS, SK>, password_file: Option<ServerRegistration<CS>>, credential_request: CredentialRequest<CS>, credential_identifier: &[u8], params: ServerLoginParameters<'a, 'a>, ) -> Result<ServerLoginBuilder<'a, CS, SK>, ProtocolError>
Create a ServerLoginBuilder to use with a remote private key.
See ServerLogin::start() for the regular path.
Sourcepub fn start<R: Rng + CryptoRng>(
rng: &mut R,
server_setup: &ServerSetup<CS>,
password_file: Option<ServerRegistration<CS>>,
credential_request: CredentialRequest<CS>,
credential_identifier: &[u8],
parameters: ServerLoginParameters<'_, '_>,
) -> Result<ServerLoginStartResult<CS>, ProtocolError>
pub fn start<R: Rng + CryptoRng>( rng: &mut R, server_setup: &ServerSetup<CS>, password_file: Option<ServerRegistration<CS>>, credential_request: CredentialRequest<CS>, credential_identifier: &[u8], parameters: ServerLoginParameters<'_, '_>, ) -> Result<ServerLoginStartResult<CS>, ProtocolError>
From the client’s “blinded” password, returns a challenge to be sent
back to the client, as well as a ServerLogin
Sourcepub fn finish(
self,
message: CredentialFinalization<CS>,
parameters: ServerLoginParameters<'_, '_>,
) -> Result<ServerLoginFinishResult<CS>, ProtocolError>
pub fn finish( self, message: CredentialFinalization<CS>, parameters: ServerLoginParameters<'_, '_>, ) -> Result<ServerLoginFinishResult<CS>, ProtocolError>
From the client’s second and final message, check the client’s authentication and produce a message transport
Trait Implementations§
Source§impl<CS: CipherSuite> Clone for ServerLogin<CS>
impl<CS: CipherSuite> Clone for ServerLogin<CS>
Source§impl<CS: CipherSuite> Debug for ServerLogin<CS>
impl<CS: CipherSuite> Debug for ServerLogin<CS>
Source§impl<'de, CS: CipherSuite> Deserialize<'de> for ServerLogin<CS>
impl<'de, CS: CipherSuite> Deserialize<'de> for ServerLogin<CS>
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<CS: CipherSuite> Drop for ServerLogin<CS>
impl<CS: CipherSuite> Drop for ServerLogin<CS>
impl<CS: CipherSuite> Eq for ServerLogin<CS>
Source§impl<CS: CipherSuite> Hash for ServerLogin<CS>
impl<CS: CipherSuite> Hash for ServerLogin<CS>
Source§impl<CS: CipherSuite> PartialEq for ServerLogin<CS>
impl<CS: CipherSuite> PartialEq for ServerLogin<CS>
Source§impl<CS: CipherSuite> Serialize for ServerLogin<CS>
impl<CS: CipherSuite> Serialize for ServerLogin<CS>
impl<CS: CipherSuite> ZeroizeOnDrop for ServerLogin<CS>
Auto Trait Implementations§
impl<CS> Freeze for ServerLogin<CS>
impl<CS> RefUnwindSafe for ServerLogin<CS>
impl<CS> Send for ServerLogin<CS>
impl<CS> Sync for ServerLogin<CS>
impl<CS> Unpin for ServerLogin<CS>
impl<CS> UnsafeUnpin for ServerLogin<CS>
impl<CS> UnwindSafe for ServerLogin<CS>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more