Skip to main content

BoringClientConfigExt

Trait BoringClientConfigExt 

pub trait BoringClientConfigExt: Sized {
Show 33 methods // Required methods fn new_from_client_hello(hello: &ClientHello) -> Self; fn with_mimic_client_hello(self, hello: &ClientHello) -> Self; fn set_mimic_client_hello(&mut self, hello: &ClientHello) -> &mut Self; fn with_cipher_suites(self, suites: Vec<CipherSuite>) -> Self; fn set_cipher_suites(&mut self, suites: Vec<CipherSuite>) -> &mut Self; fn with_supported_groups(self, groups: Vec<SupportedGroup>) -> Self; fn set_supported_groups(&mut self, groups: Vec<SupportedGroup>) -> &mut Self; fn with_signature_schemes(self, schemes: Vec<SignatureScheme>) -> Self; fn set_signature_schemes( &mut self, schemes: Vec<SignatureScheme>, ) -> &mut Self; fn with_grease(self, enabled: bool) -> Self; fn set_grease(&mut self, enabled: bool) -> &mut Self; fn with_alps( self, protocols: Vec<ApplicationProtocol>, new_codepoint: bool, ) -> Self; fn set_alps( &mut self, protocols: Vec<ApplicationProtocol>, new_codepoint: bool, ) -> &mut Self; fn with_extension_order(self, order: Vec<ExtensionId>) -> Self; fn set_extension_order(&mut self, order: Vec<ExtensionId>) -> &mut Self; fn with_cert_compression( self, algorithms: Vec<CertificateCompressionAlgorithm>, ) -> Self; fn set_cert_compression( &mut self, algorithms: Vec<CertificateCompressionAlgorithm>, ) -> &mut Self; fn with_delegated_credentials(self, schemes: Vec<SignatureScheme>) -> Self; fn set_delegated_credentials( &mut self, schemes: Vec<SignatureScheme>, ) -> &mut Self; fn with_record_size_limit(self, limit: u16) -> Self; fn set_record_size_limit(&mut self, limit: u16) -> &mut Self; fn with_encrypted_client_hello(self, enabled: bool) -> Self; fn set_encrypted_client_hello(&mut self, enabled: bool) -> &mut Self; fn with_ocsp_stapling(self, enabled: bool) -> Self; fn set_ocsp_stapling(&mut self, enabled: bool) -> &mut Self; fn with_signed_cert_timestamps(self, enabled: bool) -> Self; fn set_signed_cert_timestamps(&mut self, enabled: bool) -> &mut Self; fn with_server_verify_cert_store(self, store: Arc<X509Store>) -> Self; fn set_server_verify_cert_store( &mut self, store: Arc<X509Store>, ) -> &mut Self; fn with_min_version(self, version: ProtocolVersion) -> Self; fn set_min_version(&mut self, version: ProtocolVersion) -> &mut Self; fn with_max_version(self, version: ProtocolVersion) -> Self; fn set_max_version(&mut self, version: ProtocolVersion) -> &mut Self;
}
Available on crate feature boring only.
Expand description

Boring-specific setters for TlsClientConfig.

Required Methods§

fn new_from_client_hello(hello: &ClientHello) -> Self

Create a new config that mimics the provided ClientHello

fn with_mimic_client_hello(self, hello: &ClientHello) -> Self

Layer the fingerprint pieces captured in a ClientHello onto this config.

fn set_mimic_client_hello(&mut self, hello: &ClientHello) -> &mut Self

Layer the fingerprint pieces captured in a ClientHello onto this config.

fn with_cipher_suites(self, suites: Vec<CipherSuite>) -> Self

Set the cipher suites to offer, in order.

fn set_cipher_suites(&mut self, suites: Vec<CipherSuite>) -> &mut Self

Set the cipher suites to offer, in order.

fn with_supported_groups(self, groups: Vec<SupportedGroup>) -> Self

Set the supported groups (named curves), in order.

fn set_supported_groups(&mut self, groups: Vec<SupportedGroup>) -> &mut Self

Set the supported groups (named curves), in order.

fn with_signature_schemes(self, schemes: Vec<SignatureScheme>) -> Self

Set the signature schemes to advertise, in order.

fn set_signature_schemes(&mut self, schemes: Vec<SignatureScheme>) -> &mut Self

Set the signature schemes to advertise, in order.

fn with_grease(self, enabled: bool) -> Self

Enable/disable GREASE injection.

fn set_grease(&mut self, enabled: bool) -> &mut Self

Enable/disable GREASE injection.

fn with_alps( self, protocols: Vec<ApplicationProtocol>, new_codepoint: bool, ) -> Self

Set Application-Layer Protocol Settings (ALPS).

fn set_alps( &mut self, protocols: Vec<ApplicationProtocol>, new_codepoint: bool, ) -> &mut Self

Set Application-Layer Protocol Settings (ALPS).

fn with_extension_order(self, order: Vec<ExtensionId>) -> Self

Set the ClientHello extension ordering.

fn set_extension_order(&mut self, order: Vec<ExtensionId>) -> &mut Self

Set the ClientHello extension ordering.

fn with_cert_compression( self, algorithms: Vec<CertificateCompressionAlgorithm>, ) -> Self

Set certificate compression algorithms to advertise.

fn set_cert_compression( &mut self, algorithms: Vec<CertificateCompressionAlgorithm>, ) -> &mut Self

Set certificate compression algorithms to advertise.

fn with_delegated_credentials(self, schemes: Vec<SignatureScheme>) -> Self

Set delegated credential signature schemes.

fn set_delegated_credentials( &mut self, schemes: Vec<SignatureScheme>, ) -> &mut Self

Set delegated credential signature schemes.

fn with_record_size_limit(self, limit: u16) -> Self

Set the record_size_limit value.

fn set_record_size_limit(&mut self, limit: u16) -> &mut Self

Set the record_size_limit value.

fn with_encrypted_client_hello(self, enabled: bool) -> Self

Enable/disable Encrypted ClientHello (ECH) GREASE.

fn set_encrypted_client_hello(&mut self, enabled: bool) -> &mut Self

Enable/disable Encrypted ClientHello (ECH) GREASE.

fn with_ocsp_stapling(self, enabled: bool) -> Self

Enable/disable OCSP stapling request.

fn set_ocsp_stapling(&mut self, enabled: bool) -> &mut Self

Enable/disable OCSP stapling request.

fn with_signed_cert_timestamps(self, enabled: bool) -> Self

Enable/disable signed certificate timestamps request.

fn set_signed_cert_timestamps(&mut self, enabled: bool) -> &mut Self

Enable/disable signed certificate timestamps request.

fn with_server_verify_cert_store(self, store: Arc<X509Store>) -> Self

Set a custom server-certificate verification store (custom CA roots).

fn set_server_verify_cert_store(&mut self, store: Arc<X509Store>) -> &mut Self

Set a custom server-certificate verification store (custom CA roots).

fn with_min_version(self, version: ProtocolVersion) -> Self

Set the minimum TLS version boring will negotiate.

fn set_min_version(&mut self, version: ProtocolVersion) -> &mut Self

Set the minimum TLS version boring will negotiate.

fn with_max_version(self, version: ProtocolVersion) -> Self

Cap the maximum TLS version boring will negotiate.

fn set_max_version(&mut self, version: ProtocolVersion) -> &mut Self

Cap the maximum TLS version boring will negotiate.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§