pub struct ServerLoginBuilder<'a, CS: CipherSuite, SK: Clone> { /* private fields */ }Expand description
Builder for ServerLogin when using remote keys.
Implementations§
Source§impl<CS: CipherSuite, SK: Clone> ServerLoginBuilder<'_, CS, SK>
impl<CS: CipherSuite, SK: Clone> ServerLoginBuilder<'_, CS, SK>
Sourcepub fn data(&self) -> <CS::KeyExchange as KeyExchange>::KE2BuilderData<'_, CS>
pub fn data(&self) -> <CS::KeyExchange as KeyExchange>::KE2BuilderData<'_, CS>
The returned data here has to be processed and the result given as an
input to ServerLoginBuilder::build(). To understand what kind of
output is expected here and how to process it, refer to the
documentation of your chosen CipherSuite::KeyExchange.
Sourcepub fn private_key(&self) -> &SK
pub fn private_key(&self) -> &SK
The handle to the corresponding ServerSetups private key.
Sourcepub fn build(
self,
input: <CS::KeyExchange as KeyExchange>::KE2BuilderInput<CS>,
) -> Result<ServerLoginStartResult<CS>, ProtocolError>
pub fn build( self, input: <CS::KeyExchange as KeyExchange>::KE2BuilderInput<CS>, ) -> Result<ServerLoginStartResult<CS>, ProtocolError>
Build ServerLogin after attaining the input for the key exchange. To
understand what kind of input is expected here, refer to the
documentation of your chosen CipherSuite::KeyExchange.
See ServerLogin::start() for the regular path.
Trait Implementations§
Source§impl<'a, CS: CipherSuite, SK: Clone> Clone for ServerLoginBuilder<'a, CS, SK>
impl<'a, CS: CipherSuite, SK: Clone> Clone for ServerLoginBuilder<'a, CS, SK>
Source§impl<'a, CS: CipherSuite, SK> Debug for ServerLoginBuilder<'a, CS, SK>where
<<CS::KeyExchange as KeyExchange>::Group as Group>::Pk: Debug,
SK: Debug + Clone,
EvaluationElement<CS::OprfCs>: Debug,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Debug,
impl<'a, CS: CipherSuite, SK> Debug for ServerLoginBuilder<'a, CS, SK>where
<<CS::KeyExchange as KeyExchange>::Group as Group>::Pk: Debug,
SK: Debug + Clone,
EvaluationElement<CS::OprfCs>: Debug,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Debug,
Source§impl<'de, 'a, CS: CipherSuite, SK> Deserialize<'de> for ServerLoginBuilder<'a, CS, SK>where
SK: Deserialize<'de> + Clone,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Deserialize<'de>,
impl<'de, 'a, CS: CipherSuite, SK> Deserialize<'de> for ServerLoginBuilder<'a, CS, SK>where
SK: Deserialize<'de> + Clone,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Deserialize<'de>,
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
impl<'a, CS: CipherSuite, SK> Eq for ServerLoginBuilder<'a, CS, SK>where
<<CS::KeyExchange as KeyExchange>::Group as Group>::Pk: Eq,
SK: Eq + Clone,
EvaluationElement<CS::OprfCs>: Eq,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Eq,
Source§impl<'a, CS: CipherSuite, SK> PartialEq for ServerLoginBuilder<'a, CS, SK>where
<<CS::KeyExchange as KeyExchange>::Group as Group>::Pk: PartialEq,
SK: PartialEq + Clone,
EvaluationElement<CS::OprfCs>: PartialEq,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: PartialEq,
impl<'a, CS: CipherSuite, SK> PartialEq for ServerLoginBuilder<'a, CS, SK>where
<<CS::KeyExchange as KeyExchange>::Group as Group>::Pk: PartialEq,
SK: PartialEq + Clone,
EvaluationElement<CS::OprfCs>: PartialEq,
<CS::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: PartialEq,
Source§impl<'a, CS: CipherSuite, SK> Serialize for ServerLoginBuilder<'a, CS, SK>
impl<'a, CS: CipherSuite, SK> Serialize for ServerLoginBuilder<'a, CS, SK>
Auto Trait Implementations§
impl<'a, CS, SK> Freeze for ServerLoginBuilder<'a, CS, SK>where
SK: Freeze,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Freeze,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Freeze,
<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: Freeze,
<<<<CS as CipherSuite>::KeyExchange as KeyExchange>::Group as Group>::PkLen as ArrayLength>::ArrayType<u8>: Freeze,
impl<'a, CS, SK> RefUnwindSafe for ServerLoginBuilder<'a, CS, SK>where
SK: RefUnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: RefUnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: RefUnwindSafe,
<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: RefUnwindSafe,
<<<<CS as CipherSuite>::KeyExchange as KeyExchange>::Group as Group>::PkLen as ArrayLength>::ArrayType<u8>: RefUnwindSafe,
impl<'a, CS, SK> Send for ServerLoginBuilder<'a, CS, SK>where
SK: Send,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Send,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Send,
impl<'a, CS, SK> Sync for ServerLoginBuilder<'a, CS, SK>where
SK: Sync,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Sync,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Sync,
impl<'a, CS, SK> Unpin for ServerLoginBuilder<'a, CS, SK>where
SK: Unpin,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: Unpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: Unpin,
<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: Unpin,
<<<<CS as CipherSuite>::KeyExchange as KeyExchange>::Group as Group>::PkLen as ArrayLength>::ArrayType<u8>: Unpin,
impl<'a, CS, SK> UnsafeUnpin for ServerLoginBuilder<'a, CS, SK>where
SK: UnsafeUnpin,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: UnsafeUnpin,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: UnsafeUnpin,
<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: UnsafeUnpin,
<<<<CS as CipherSuite>::KeyExchange as KeyExchange>::Group as Group>::PkLen as ArrayLength>::ArrayType<u8>: UnsafeUnpin,
impl<'a, CS, SK> UnwindSafe for ServerLoginBuilder<'a, CS, SK>where
SK: UnwindSafe,
<<CS as CipherSuite>::KeyExchange as KeyExchange>::KE2Builder<'a, CS>: UnwindSafe,
<<<CS as CipherSuite>::OprfCs as CipherSuite>::Group as Group>::Elem: UnwindSafe,
<<<<<CS as CipherSuite>::OprfCs as CipherSuite>::Hash as CoreProxy>::Core as OutputSizeUser>::OutputSize as ArraySize>::ArrayType<u8>: UnwindSafe,
<<<<CS as CipherSuite>::KeyExchange as KeyExchange>::Group as Group>::PkLen as ArrayLength>::ArrayType<u8>: 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