#[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(conf: *mut c_void) -> esp_err_t>,
pub certificate: *const c_char,
pub certificate_len: usize,
pub psk_hint_key: *const psk_key_hint,
pub skip_cert_common_name_check: bool,
pub alpn_protos: *mut *const c_char,
pub common_name: *const c_char,
}
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(conf: *mut c_void) -> esp_err_t>
< Pointer to ESP x509 Certificate Bundle attach function for the usage of certificate bundles. Client only attach the bundle, the clean up must be done by the user.
certificate: *const c_char
< Certificate data, default is NULL. It’s not copied nor freed by the client, user needs to clean up.
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. It’s not copied nor freed by the client, user needs to clean up.
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 c_char
< NULL-terminated list of supported application protocols to be used for ALPN.
common_name: *const c_char
< 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. It’s not copied nor freed by the client, user needs to clean up.
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
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
)