Expand description
Automated TLS fingerprint validation suite.
Verifies that stygian’s TLS profiles produce correct JA3/JA4 hashes and HTTP/2 SETTINGS frames when compared against real browser captures.
Unit tests validate comparison logic and format of reference hashes. Network
integration tests are #[ignore]-gated to avoid CI flakiness.
§Example
use stygian_browser::tls_validation::{TlsValidationReport, CHROME_136_JA3};
let report = TlsValidationReport {
ja3_expected: CHROME_136_JA3.to_string(),
ja3_actual: CHROME_136_JA3.to_string(),
ja3_match: true,
ja4_expected: String::new(),
ja4_actual: String::new(),
ja4_match: true,
http2_settings_match: true,
alpn_match: true,
issues: vec![],
};
assert!(report.is_ok());Structs§
- TlsValidation
Config - Configuration for live TLS validation against an echo service.
- TlsValidation
Report - Result of validating a
TlsProfileagainst expected browser fingerprints.
Constants§
- CHROME_
131_ JA3 - JA3 hash for Google Chrome 131 (captured from real browser traffic).
- CHROME_
136_ HTTP2_ SETTINGS - Chrome 136 HTTP/2 SETTINGS frame — ordered
(id, value)pairs that the browser sends in its initial SETTINGS frame. - CHROME_
136_ JA3 - JA3 hash for Google Chrome 136 (captured from real browser traffic).
- CHROME_
136_ JA4 - JA4 fingerprint for Google Chrome 136.
Traits§
- TlsProfile
Validate - Extension trait that adds
validate_static()toTlsProfile.
Functions§
- compare_
http2_ settings - Compare observed HTTP/2 SETTINGS against a reference list.
- validate_
profile_ static - Validate a
TlsProfileagainst reference hashes without making a network connection.