pub struct ReplayDefenseCheckInput {
pub observed_domain: String,
pub observed_signature: Option<String>,
pub observed_nonce: Option<String>,
pub observed_at_epoch_ms: u64,
}Expand description
Observed context passed to check on every session reuse.
Mirrors crate::freshness::FreshnessCheckInput but adds the
observed_nonce field, which is the nonce the application
currently has in flight (or None when the host never issued
one).
§Example
use stygian_browser::replay_defense::ReplayDefenseCheckInput;
let input = ReplayDefenseCheckInput::new(
"example.com",
Some("sha256:abc"),
Some("nonce-001"),
1_700_000_000_000,
);
assert_eq!(input.observed_domain, "example.com");Fields§
§observed_domain: StringLower-cased target host observed at reuse time.
observed_signature: Option<String>Lower-cased observed signature, when available.
observed_nonce: Option<String>Observed session nonce, when the host has issued one.
observed_at_epoch_ms: u64Observation timestamp (Unix epoch ms).
Implementations§
Trait Implementations§
Source§impl Clone for ReplayDefenseCheckInput
impl Clone for ReplayDefenseCheckInput
Source§fn clone(&self) -> ReplayDefenseCheckInput
fn clone(&self) -> ReplayDefenseCheckInput
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ReplayDefenseCheckInput
impl Debug for ReplayDefenseCheckInput
Source§impl PartialEq for ReplayDefenseCheckInput
impl PartialEq for ReplayDefenseCheckInput
impl Eq for ReplayDefenseCheckInput
impl StructuralPartialEq for ReplayDefenseCheckInput
Auto Trait Implementations§
impl Freeze for ReplayDefenseCheckInput
impl RefUnwindSafe for ReplayDefenseCheckInput
impl Send for ReplayDefenseCheckInput
impl Sync for ReplayDefenseCheckInput
impl Unpin for ReplayDefenseCheckInput
impl UnsafeUnpin for ReplayDefenseCheckInput
impl UnwindSafe for ReplayDefenseCheckInput
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.