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;
}boring only.Expand description
Boring-specific setters for TlsClientConfig.
Required Methods§
fn new_from_client_hello(hello: &ClientHello) -> Self
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
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
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
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
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
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
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
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
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
fn with_grease(self, enabled: bool) -> Self
Enable/disable GREASE injection.
fn set_grease(&mut self, enabled: bool) -> &mut Self
fn set_grease(&mut self, enabled: bool) -> &mut Self
Enable/disable GREASE injection.
fn with_alps(
self,
protocols: Vec<ApplicationProtocol>,
new_codepoint: bool,
) -> Self
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
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
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
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
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
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
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
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
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
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
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
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
fn with_ocsp_stapling(self, enabled: bool) -> Self
Enable/disable OCSP stapling request.
fn set_ocsp_stapling(&mut self, enabled: bool) -> &mut Self
fn set_ocsp_stapling(&mut self, enabled: bool) -> &mut Self
Enable/disable OCSP stapling request.
fn with_signed_cert_timestamps(self, enabled: bool) -> Self
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
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
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
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
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
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
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
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".