Struct esp_idf_svc::hal::sys::mbedtls_x509_crt_profile
source · #[repr(C)]pub struct mbedtls_x509_crt_profile {
pub allowed_mds: u32,
pub allowed_pks: u32,
pub allowed_curves: u32,
pub rsa_min_bitlen: u32,
}
Expand description
Security profile for certificate verification.
All lists are bitfields, built by ORing flags from MBEDTLS_X509_ID_FLAG().
The fields of this structure are part of the public API and can be manipulated directly by applications. Future versions of the library may add extra fields or reorder existing fields.
You can create custom profiles by starting from a copy of an existing profile, such as mbedtls_x509_crt_profile_default or mbedtls_x509_ctr_profile_none and then tune it to your needs.
For example to allow SHA-224 in addition to the default:
mbedtls_x509_crt_profile my_profile = mbedtls_x509_crt_profile_default; my_profile.allowed_mds |= MBEDTLS_X509_ID_FLAG( MBEDTLS_MD_SHA224 );
Or to allow only RSA-3072+ with SHA-256:
mbedtls_x509_crt_profile my_profile = mbedtls_x509_crt_profile_none; my_profile.allowed_mds = MBEDTLS_X509_ID_FLAG( MBEDTLS_MD_SHA256 ); my_profile.allowed_pks = MBEDTLS_X509_ID_FLAG( MBEDTLS_PK_RSA ); my_profile.rsa_min_bitlen = 3072;
Fields§
§allowed_mds: u32
< MDs for signatures
allowed_pks: u32
< PK algs for public keys; this applies to all certificates in the provided chain.
allowed_curves: u32
< Elliptic curves for ECDSA
rsa_min_bitlen: u32
< Minimum size for RSA keys
Trait Implementations§
source§impl Clone for mbedtls_x509_crt_profile
impl Clone for mbedtls_x509_crt_profile
source§fn clone(&self) -> mbedtls_x509_crt_profile
fn clone(&self) -> mbedtls_x509_crt_profile
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for mbedtls_x509_crt_profile
impl Debug for mbedtls_x509_crt_profile
source§impl Default for mbedtls_x509_crt_profile
impl Default for mbedtls_x509_crt_profile
source§fn default() -> mbedtls_x509_crt_profile
fn default() -> mbedtls_x509_crt_profile
impl Copy for mbedtls_x509_crt_profile
Auto Trait Implementations§
impl Freeze for mbedtls_x509_crt_profile
impl RefUnwindSafe for mbedtls_x509_crt_profile
impl Send for mbedtls_x509_crt_profile
impl Sync for mbedtls_x509_crt_profile
impl Unpin for mbedtls_x509_crt_profile
impl UnwindSafe for mbedtls_x509_crt_profile
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
)