pub struct TlsValidationReport {
pub ja3_expected: String,
pub ja3_actual: String,
pub ja3_match: bool,
pub ja4_expected: String,
pub ja4_actual: String,
pub ja4_match: bool,
pub http2_settings_match: bool,
pub alpn_match: bool,
pub issues: Vec<String>,
}Expand description
Result of validating a TlsProfile against expected browser fingerprints.
§Example
use stygian_browser::tls_validation::TlsValidationReport;
let report = TlsValidationReport::default();
assert!(report.is_ok()); // empty report with all-match defaults is okFields§
§ja3_expected: StringThe expected JA3 hash (from reference captures).
ja3_actual: StringThe JA3 hash computed from the profile or observed from a live connection.
ja3_match: booltrue when ja3_expected == ja3_actual.
ja4_expected: StringThe expected JA4 fingerprint.
ja4_actual: StringThe JA4 fingerprint computed from the profile or observed live.
ja4_match: booltrue when ja4_expected == ja4_actual.
http2_settings_match: booltrue when HTTP/2 SETTINGS match expected Chrome values.
alpn_match: booltrue when ALPN protocol ordering matches expected values.
issues: Vec<String>Human-readable list of mismatches. Empty when all checks pass.
Implementations§
Trait Implementations§
Source§impl Clone for TlsValidationReport
impl Clone for TlsValidationReport
Source§fn clone(&self) -> TlsValidationReport
fn clone(&self) -> TlsValidationReport
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 TlsValidationReport
impl Debug for TlsValidationReport
Source§impl Default for TlsValidationReport
impl Default for TlsValidationReport
Source§fn default() -> TlsValidationReport
fn default() -> TlsValidationReport
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for TlsValidationReport
impl<'de> Deserialize<'de> for TlsValidationReport
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 PartialEq for TlsValidationReport
impl PartialEq for TlsValidationReport
Source§impl Serialize for TlsValidationReport
impl Serialize for TlsValidationReport
impl Eq for TlsValidationReport
impl StructuralPartialEq for TlsValidationReport
Auto Trait Implementations§
impl Freeze for TlsValidationReport
impl RefUnwindSafe for TlsValidationReport
impl Send for TlsValidationReport
impl Sync for TlsValidationReport
impl Unpin for TlsValidationReport
impl UnsafeUnpin for TlsValidationReport
impl UnwindSafe for TlsValidationReport
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
Checks if this value is equivalent to the given key. Read more
§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.