Struct esp_idf_sys::mbedtls_x509_crt

source ·
#[repr(C)]
pub struct mbedtls_x509_crt {
Show 32 fields pub private_own_buffer: c_int, pub raw: mbedtls_x509_buf, pub tbs: mbedtls_x509_buf, pub version: c_int, pub serial: mbedtls_x509_buf, pub sig_oid: mbedtls_x509_buf, pub issuer_raw: mbedtls_x509_buf, pub subject_raw: mbedtls_x509_buf, pub issuer: mbedtls_x509_name, pub subject: mbedtls_x509_name, pub valid_from: mbedtls_x509_time, pub valid_to: mbedtls_x509_time, pub pk_raw: mbedtls_x509_buf, pub pk: mbedtls_pk_context, pub issuer_id: mbedtls_x509_buf, pub subject_id: mbedtls_x509_buf, pub v3_ext: mbedtls_x509_buf, pub subject_alt_names: mbedtls_x509_sequence, pub subject_key_id: mbedtls_x509_buf, pub authority_key_id: mbedtls_x509_authority, pub certificate_policies: mbedtls_x509_sequence, pub private_ext_types: c_int, pub private_ca_istrue: c_int, pub private_max_pathlen: c_int, pub private_key_usage: c_uint, pub ext_key_usage: mbedtls_x509_sequence, pub private_ns_cert_type: c_uchar, pub private_sig: mbedtls_x509_buf, pub private_sig_md: mbedtls_md_type_t, pub private_sig_pk: mbedtls_pk_type_t, pub private_sig_opts: *mut c_void, pub next: *mut mbedtls_x509_crt,
}
Expand description

Container for an X.509 certificate. The certificate may be chained.

Some fields of this structure are publicly readable. Do not modify them except via Mbed TLS library functions: the effect of modifying those fields or the data that those fields points to is unspecified.

Fields§

§private_own_buffer: c_int

< Indicates if \c raw is owned by the structure or not.

§raw: mbedtls_x509_buf

< The raw certificate data (DER).

§tbs: mbedtls_x509_buf

< The raw certificate body (DER). The part that is To Be Signed.

§version: c_int

< The X.509 version. (1=v1, 2=v2, 3=v3)

§serial: mbedtls_x509_buf

< Unique id for certificate issued by a specific CA.

§sig_oid: mbedtls_x509_buf

< Signature algorithm, e.g. sha1RSA

§issuer_raw: mbedtls_x509_buf

< The raw issuer data (DER). Used for quick comparison.

§subject_raw: mbedtls_x509_buf

< The raw subject data (DER). Used for quick comparison.

§issuer: mbedtls_x509_name

< The parsed issuer data (named information object).

§subject: mbedtls_x509_name

< The parsed subject data (named information object).

§valid_from: mbedtls_x509_time

< Start time of certificate validity.

§valid_to: mbedtls_x509_time

< End time of certificate validity.

§pk_raw: mbedtls_x509_buf§pk: mbedtls_pk_context

< Container for the public key context.

§issuer_id: mbedtls_x509_buf

< Optional X.509 v2/v3 issuer unique identifier.

§subject_id: mbedtls_x509_buf

< Optional X.509 v2/v3 subject unique identifier.

§v3_ext: mbedtls_x509_buf

< Optional X.509 v3 extensions.

§subject_alt_names: mbedtls_x509_sequence

< Optional list of raw entries of Subject Alternative Names extension. These can be later parsed by mbedtls_x509_parse_subject_alt_name.

§subject_key_id: mbedtls_x509_buf

< Optional X.509 v3 extension subject key identifier.

§authority_key_id: mbedtls_x509_authority

< Optional X.509 v3 extension authority key identifier.

§certificate_policies: mbedtls_x509_sequence

< Optional list of certificate policies (Only anyPolicy is printed and enforced, however the rest of the policies are still listed).

§private_ext_types: c_int

< Bit string containing detected and parsed extensions

§private_ca_istrue: c_int

< Optional Basic Constraint extension value: 1 if this certificate belongs to a CA, 0 otherwise.

§private_max_pathlen: c_int

< Optional Basic Constraint extension value: The maximum path length to the root certificate. Path length is 1 higher than RFC 5280 ‘meaning’, so 1+

§private_key_usage: c_uint

< Optional key usage extension value: See the values in x509.h

§ext_key_usage: mbedtls_x509_sequence

< Optional list of extended key usage OIDs.

§private_ns_cert_type: c_uchar

< Optional Netscape certificate type extension value: See the values in x509.h

§private_sig: mbedtls_x509_buf

< Signature: hash of the tbs part signed with the private key.

§private_sig_md: mbedtls_md_type_t

< Internal representation of the MD algorithm of the signature algorithm, e.g. MBEDTLS_MD_SHA256

§private_sig_pk: mbedtls_pk_type_t

< Internal representation of the Public Key algorithm of the signature algorithm, e.g. MBEDTLS_PK_RSA

§private_sig_opts: *mut c_void

< Signature options to be passed to mbedtls_pk_verify_ext(), e.g. for RSASSA-PSS

§next: *mut mbedtls_x509_crt

Next certificate in the linked list that constitutes the CA chain. \p NULL indicates the end of the list. Do not modify this field directly.

Trait Implementations§

source§

impl Clone for mbedtls_x509_crt

source§

fn clone(&self) -> mbedtls_x509_crt

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for mbedtls_x509_crt

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for mbedtls_x509_crt

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Copy for mbedtls_x509_crt

Auto Trait Implementations§

§

impl Freeze for mbedtls_x509_crt

§

impl RefUnwindSafe for mbedtls_x509_crt

§

impl !Send for mbedtls_x509_crt

§

impl !Sync for mbedtls_x509_crt

§

impl Unpin for mbedtls_x509_crt

§

impl UnwindSafe for mbedtls_x509_crt

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Copy,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.