pub(crate) struct KeyScheduleEarly {
ks: KeySchedule,
}
Expand description
The “early secret” stage of the key schedule WITH a PSK.
This is only useful when you need to use one of the binder keys, the “client_early_traffic_secret”, or “early_exporter_master_secret”.
See KeySchedulePreHandshake
for more information.
Fields§
§ks: KeySchedule
Implementations§
Source§impl KeyScheduleEarly
impl KeyScheduleEarly
pub(crate) fn new(suite: &'static Tls13CipherSuite, secret: &[u8]) -> Self
Sourcepub(crate) fn client_early_traffic_secret(
&self,
hs_hash: &Output,
key_log: &dyn KeyLog,
client_random: &[u8; 32],
common: &mut CommonState,
)
pub(crate) fn client_early_traffic_secret( &self, hs_hash: &Output, key_log: &dyn KeyLog, client_random: &[u8; 32], common: &mut CommonState, )
Computes the client_early_traffic_secret
and writes it
to common
.
hs_hash
is Transcript-Hash(ClientHello)
.
Derive-Secret(., "c e traffic", ClientHello)
= client_early_traffic_secret
pub(crate) fn resumption_psk_binder_key_and_sign_verify_data( &self, hs_hash: &Output, ) -> Tag
Trait Implementations§
Source§impl From<KeyScheduleEarly> for KeySchedulePreHandshake
Creates a key schedule with a PSK.
impl From<KeyScheduleEarly> for KeySchedulePreHandshake
Creates a key schedule with a PSK.
Source§fn from(_: KeyScheduleEarly) -> Self
fn from(_: KeyScheduleEarly) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for KeyScheduleEarly
impl !RefUnwindSafe for KeyScheduleEarly
impl Send for KeyScheduleEarly
impl Sync for KeyScheduleEarly
impl Unpin for KeyScheduleEarly
impl !UnwindSafe for KeyScheduleEarly
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