pub struct ClientRegistration<CS: CipherSuite> { /* private fields */ }Expand description
The state elements the client holds to register itself
Implementations§
Source§impl<CS: CipherSuite> ClientRegistration<CS>
impl<CS: CipherSuite> ClientRegistration<CS>
Sourcepub fn serialize(
&self,
) -> GenericArray<u8, Sum<<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen>>where
<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<<<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen> + ArrayLength,
<<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen: ArrayLength,
Sum<<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen>: ArrayLength,
pub fn serialize(
&self,
) -> GenericArray<u8, Sum<<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen>>where
<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen: Add<<<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen> + ArrayLength,
<<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen: ArrayLength,
Sum<<<CS::OprfCs as CipherSuite>::Group as Group>::ScalarLen, <<CS::OprfCs as CipherSuite>::Group as Group>::ElemLen>: ArrayLength,
Serialization into bytes
Sourcepub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
pub fn deserialize(input: &[u8]) -> Result<Self, ProtocolError>
Deserialization from bytes
Sourcepub fn start<R: Rng + CryptoRng>(
blinding_factor_rng: &mut R,
password: &[u8],
) -> Result<ClientRegistrationStartResult<CS>, ProtocolError>
pub fn start<R: Rng + CryptoRng>( blinding_factor_rng: &mut R, password: &[u8], ) -> Result<ClientRegistrationStartResult<CS>, ProtocolError>
Returns an initial “blinded” request to send to the server, as well as a
ClientRegistration
Sourcepub fn finish<R: CryptoRng + Rng>(
self,
rng: &mut R,
password: &[u8],
registration_response: RegistrationResponse<CS>,
params: ClientRegistrationFinishParameters<'_, '_, CS>,
) -> Result<ClientRegistrationFinishResult<CS>, ProtocolError>
pub fn finish<R: CryptoRng + Rng>( self, rng: &mut R, password: &[u8], registration_response: RegistrationResponse<CS>, params: ClientRegistrationFinishParameters<'_, '_, CS>, ) -> Result<ClientRegistrationFinishResult<CS>, ProtocolError>
“Unblinds” the server’s answer and returns a final message containing cryptographic identifiers, to be sent to the server on setup finalization
Trait Implementations§
Source§impl<CS: CipherSuite> Clone for ClientRegistration<CS>
impl<CS: CipherSuite> Clone for ClientRegistration<CS>
Source§impl<CS: CipherSuite> Debug for ClientRegistration<CS>
impl<CS: CipherSuite> Debug for ClientRegistration<CS>
Source§impl<'de, CS: CipherSuite> Deserialize<'de> for ClientRegistration<CS>
impl<'de, CS: CipherSuite> Deserialize<'de> for ClientRegistration<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 ClientRegistration<CS>
impl<CS: CipherSuite> Drop for ClientRegistration<CS>
impl<CS: CipherSuite> Eq for ClientRegistration<CS>
Source§impl<CS: CipherSuite> Hash for ClientRegistration<CS>
impl<CS: CipherSuite> Hash for ClientRegistration<CS>
Source§impl<CS: CipherSuite> PartialEq for ClientRegistration<CS>
impl<CS: CipherSuite> PartialEq for ClientRegistration<CS>
Source§impl<CS: CipherSuite> Serialize for ClientRegistration<CS>
impl<CS: CipherSuite> Serialize for ClientRegistration<CS>
impl<CS: CipherSuite> ZeroizeOnDrop for ClientRegistration<CS>
Auto Trait Implementations§
impl<CS> Freeze for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Freeze,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Freeze,
impl<CS> RefUnwindSafe for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: RefUnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: RefUnwindSafe,
impl<CS> Send for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Send,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Send,
impl<CS> Sync for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Sync,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Sync,
impl<CS> Unpin for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: Unpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Unpin,
impl<CS> UnsafeUnpin for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: UnsafeUnpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: UnsafeUnpin,
impl<CS> UnwindSafe for ClientRegistration<CS>where
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Scalar: UnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: UnwindSafe,
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