Struct ja3_rustls::ClientHelloPayload
source · [−]pub struct ClientHelloPayload {
pub client_version: ProtocolVersion,
pub random: Random,
pub session_id: SessionID,
pub cipher_suites: Vec<CipherSuite, Global>,
pub compression_methods: Vec<Compression, Global>,
pub extensions: Vec<ClientExtension, Global>,
}
Fields
client_version: ProtocolVersion
random: Random
session_id: SessionID
cipher_suites: Vec<CipherSuite, Global>
compression_methods: Vec<Compression, Global>
extensions: Vec<ClientExtension, Global>
Implementations
sourceimpl ClientHelloPayload
impl ClientHelloPayload
sourcepub fn has_duplicate_extension(&self) -> bool
pub fn has_duplicate_extension(&self) -> bool
Returns true if there is more than one extension of a given type.
pub fn find_extension(&self, ext: ExtensionType) -> Option<&ClientExtension>
pub fn get_sni_extension(&self) -> Option<&Vec<ServerName, Global>>
pub fn get_sigalgs_extension(&self) -> Option<&Vec<SignatureScheme, Global>>
pub fn get_namedgroups_extension(&self) -> Option<&Vec<NamedGroup, Global>>
pub fn get_ecpoints_extension(&self) -> Option<&Vec<ECPointFormat, Global>>
pub fn get_alpn_extension(&self) -> Option<&Vec<PayloadU8, Global>>
pub fn get_quic_params_extension(&self) -> Option<Vec<u8, Global>>
pub fn get_ticket_extension(&self) -> Option<&ClientExtension>
pub fn get_versions_extension(&self) -> Option<&Vec<ProtocolVersion, Global>>
pub fn get_psk(&self) -> Option<&PresharedKeyOffer>
pub fn check_psk_ext_is_last(&self) -> bool
pub fn get_psk_modes(&self) -> Option<&Vec<PSKKeyExchangeMode, Global>>
pub fn psk_mode_offered(&self, mode: PSKKeyExchangeMode) -> bool
pub fn set_psk_binder(&mut self, binder: impl Into<Vec<u8, Global>>)
pub fn ems_support_offered(&self) -> bool
pub fn early_data_extension_offered(&self) -> bool
Trait Implementations
sourceimpl Codec for ClientHelloPayload
impl Codec for ClientHelloPayload
sourcefn read(r: &mut Reader<'_>) -> Option<ClientHelloPayload>
fn read(r: &mut Reader<'_>) -> Option<ClientHelloPayload>
Decode yourself by fiddling with the
Reader
.
Return Some if it worked, None if not. Read moresourcefn get_encoding(&self) -> Vec<u8, Global>
fn get_encoding(&self) -> Vec<u8, Global>
Convenience function to get the results of
encode()
.sourcefn read_bytes(bytes: &[u8]) -> Option<Self>
fn read_bytes(bytes: &[u8]) -> Option<Self>
Read one of these from the front of
bytes
and
return it. Read moresourceimpl Debug for ClientHelloPayload
impl Debug for ClientHelloPayload
sourceimpl From<&ClientHelloPayload> for Ja3
impl From<&ClientHelloPayload> for Ja3
sourcefn from(chp: &ClientHelloPayload) -> Ja3
fn from(chp: &ClientHelloPayload) -> Ja3
Converts to this type from the input type.
sourceimpl Ja3Extractor for ClientHelloPayload
impl Ja3Extractor for ClientHelloPayload
sourcefn ja3(&self) -> Ja3
fn ja3(&self) -> Ja3
Get the JA3 of a
ClientHelloPayload
sourcefn ja3_with_real_version(&self) -> Ja3
fn ja3_with_real_version(&self) -> Ja3
Almost same as
ja3
, except that the TLS version specified in extensions, if any, are
preferred over the one indicated by the record header. Read moresourcefn ja3_with_real_version_and_grease(&self) -> Ja3
fn ja3_with_real_version_and_grease(&self) -> Ja3
Check
ja3_with_real_version
and ja3_with_grease
for more info.sourcefn ja3_with_grease(&self) -> Ja3
fn ja3_with_grease(&self) -> Ja3
sourcefn ja3_and_more(&self) -> Ja3andMore
fn ja3_and_more(&self) -> Ja3andMore
Get the JA3 and more fields of a
ClientHelloPayload
Read moresourcefn ja3_and_more_with_grease(&self) -> Ja3andMore
fn ja3_and_more_with_grease(&self) -> Ja3andMore
Auto Trait Implementations
impl RefUnwindSafe for ClientHelloPayload
impl Send for ClientHelloPayload
impl Sync for ClientHelloPayload
impl Unpin for ClientHelloPayload
impl UnwindSafe for ClientHelloPayload
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more