#[repr(C)]pub struct esp_mqtt_client_config_t_broker_t_verification_t {
pub use_global_ca_store: bool,
pub crt_bundle_attach: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>,
pub certificate: *const i8,
pub certificate_len: usize,
pub psk_hint_key: *const psk_key_hint,
pub skip_cert_common_name_check: bool,
pub alpn_protos: *mut *const i8,
pub common_name: *const i8,
}
Expand description
Broker identity verification
If fields are not set broker’s identity isn’t verified. it’s recommended to set the options in this struct for security reasons.
Fields§
§use_global_ca_store: bool
< Use a global ca_store, look esp-tls documentation for details.
crt_bundle_attach: Option<unsafe extern "C" fn(_: *mut c_void) -> i32>
< Pointer to ESP x509 Certificate Bundle attach function for the usage of certificate bundles.
certificate: *const i8
< Certificate data, default is NULL, not required to verify the server.
certificate_len: usize
< Length of the buffer pointed to by certificate.
psk_hint_key: *const psk_key_hint
< Pointer to PSK struct defined in esp_tls.h to enable PSK authentication (as alternative to certificate verification). PSK is enabled only if there are no other ways to verify broker.
skip_cert_common_name_check: bool
< Skip any validation of server certificate CN field, this reduces the security of TLS and makes the MQTT client susceptible to MITM attacks
alpn_protos: *mut *const i8
< NULL-terminated list of supported application protocols to be used for ALPN
common_name: *const i8
< Pointer to the string containing server certificate common name. If non-NULL, server certificate CN must match this name, If NULL, server certificate CN must match hostname. This is ignored if skip_cert_common_name_check=true.
Trait Implementations§
source§impl Clone for esp_mqtt_client_config_t_broker_t_verification_t
impl Clone for esp_mqtt_client_config_t_broker_t_verification_t
source§fn clone(&self) -> esp_mqtt_client_config_t_broker_t_verification_t
fn clone(&self) -> esp_mqtt_client_config_t_broker_t_verification_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for esp_mqtt_client_config_t_broker_t_verification_t
impl Debug for esp_mqtt_client_config_t_broker_t_verification_t
source§impl Default for esp_mqtt_client_config_t_broker_t_verification_t
impl Default for esp_mqtt_client_config_t_broker_t_verification_t
source§fn default() -> esp_mqtt_client_config_t_broker_t_verification_t
fn default() -> esp_mqtt_client_config_t_broker_t_verification_t
impl Copy for esp_mqtt_client_config_t_broker_t_verification_t
Auto Trait Implementations§
impl Freeze for esp_mqtt_client_config_t_broker_t_verification_t
impl RefUnwindSafe for esp_mqtt_client_config_t_broker_t_verification_t
impl !Send for esp_mqtt_client_config_t_broker_t_verification_t
impl !Sync for esp_mqtt_client_config_t_broker_t_verification_t
impl Unpin for esp_mqtt_client_config_t_broker_t_verification_t
impl UnwindSafe for esp_mqtt_client_config_t_broker_t_verification_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)