mbedTLS + 0/6 examples
CodeScope will show references to mbedtls_x509_crt from the following samples and libraries:
Examples
STM32469I_EVAL
Applications
mbedTLS
STM324x9I_EVAL
Applications
mbedTLS
STM324xG_EVAL
Applications
mbedTLS
 
Symbols
loading...
Files
loading...

mbedtls_x509_crt struct

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

Syntax

typedef struct mbedtls_x509_crt {     mbedtls_x509_buf raw;                    mbedtls_x509_buf tbs;                    int version;                     mbedtls_x509_buf serial;                 mbedtls_x509_buf sig_oid;                mbedtls_x509_buf issuer_raw;             mbedtls_x509_buf subject_raw;            mbedtls_x509_name issuer;                mbedtls_x509_name subject;               mbedtls_x509_time valid_from;            mbedtls_x509_time valid_to;              mbedtls_pk_context pk;                   mbedtls_x509_buf issuer_id;              mbedtls_x509_buf subject_id;             mbedtls_x509_buf v3_ext;                 mbedtls_x509_sequence subject_alt_names;         int ext_types;                   int ca_istrue;                   int max_pathlen;                 unsigned int key_usage;          mbedtls_x509_sequence ext_key_usage;      unsigned char ns_cert_type;      mbedtls_x509_buf sig;                    mbedtls_md_type_t sig_md;                mbedtls_pk_type_t sig_pk;                void *sig_opts;                  struct mbedtls_x509_crt *next;      } mbedtls_x509_crt;

Fields

raw

The raw certificate data (DER). Read more...

tbs

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

version

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

serial

Unique id for certificate issued by a specific CA. Read more...

sig_oid

Signature algorithm, e.g. sha1RSA. Read more...

issuer_raw

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

subject_raw

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

issuer

The parsed issuer data (named information object). Read more...

subject

The parsed subject data (named information object). Read more...

valid_from

Start time of certificate validity. Read more...

valid_to

End time of certificate validity. Read more...

pk

Container for the public key context. Read more...

issuer_id

Optional X.509 v2/v3 issuer unique identifier. Read more...

subject_id

Optional X.509 v2/v3 subject unique identifier. Read more...

v3_ext

Optional X.509 v3 extensions. Read more...

subject_alt_names

Optional list of Subject Alternative Names (Only dNSName supported). Read more...

ext_types

Bit string containing detected and parsed extensions. Read more...

ca_istrue

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

max_pathlen

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

key_usage

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

ext_key_usage

Optional list of extended key usage OIDs. Read more...

ns_cert_type

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

sig

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

sig_md

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

sig_pk

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

sig_opts

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

next

Next certificate in the CA-chain. Read more...

Examples

mbedtls_x509_crt is referenced by 6 libraries and example projects.

References

LocationReferrerScopeText
x509_crt.h:53
typedef struct mbedtls_x509_crt
x509_crt.h:95
debug.h:227mbedtls_debug_print_crt()::crtmbedtls_debug_print_crt()
const char *text, const mbedtls_x509_crt *crt );
ssl.h:801mbedtls_ssl_session::peer_certmbedtls_ssl_session
mbedtls_x509_crt *peer_cert; /*!< peer X.509 cert chain */
ssl.h:859mbedtls_ssl_config::f_vrfy::#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *);
ssl.h:898mbedtls_ssl_config::ca_chainmbedtls_ssl_config
mbedtls_x509_crt *ca_chain; /*!< trusted CAs */
ssl.h:1329#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
ssl.h:2022mbedtls_ssl_conf_ca_chain()::ca_chainmbedtls_ssl_conf_ca_chain()
ssl.h:2062mbedtls_ssl_conf_own_cert()::own_certmbedtls_ssl_conf_own_cert()
ssl.h:2894mbedtls_ssl_get_peer_cert()
ssl_internal.h:471mbedtls_ssl_key_cert::certmbedtls_ssl_key_cert
mbedtls_x509_crt *cert; /*!< cert */
ssl_internal.h:674mbedtls_ssl_own_cert()
ssl_internal.h:695mbedtls_ssl_check_cert_usage()::certmbedtls_ssl_check_cert_usage()
ssl_srv.c:2680ssl_write_certificate_request()::crtssl_write_certificate_request()
const mbedtls_x509_crt *crt;
ssl_tls.c:285ssl_session_copy()
ssl_tls.c:294ssl_session_copy()
ssl_tls.c:5327mbedtls_ssl_write_certificate()::crtmbedtls_ssl_write_certificate()
const mbedtls_x509_crt *crt;
ssl_tls.c:5533ssl_parse_certificate_chain()
ssl_tls.c:5536ssl_parse_certificate_chain()
ssl_tls.c:5537ssl_parse_certificate_chain()
sizeof( mbedtls_x509_crt ) ) ) == NULL )
ssl_tls.c:5729mbedtls_ssl_parse_certificate()::ca_chainmbedtls_ssl_parse_certificate()
mbedtls_x509_crt *ca_chain;
ssl_tls.c:7111#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
ssl_tls.c:7237ssl_append_key_cert()::certssl_append_key_cert()
ssl_tls.c:7267mbedtls_ssl_conf_own_cert()::own_certmbedtls_ssl_conf_own_cert()
ssl_tls.c:7274mbedtls_ssl_conf_ca_chain()::ca_chainmbedtls_ssl_conf_ca_chain()
ssl_tls.c:8029mbedtls_ssl_get_peer_cert()
ssl_tls.c:8916mbedtls_ssl_session_free()
ssl_tls.c:9458mbedtls_ssl_check_cert_usage()::certmbedtls_ssl_check_cert_usage()
x509_crt.c:85x509_crt_verify_chain_item::crtx509_crt_verify_chain_item
x509_crt.c:696x509_get_crt_ext()::crtx509_get_crt_ext()
x509_crt.c:831x509_crt_parse_der_core()::crtx509_crt_parse_der_core()
static int x509_crt_parse_der_core( mbedtls_x509_crt *crt, const unsigned char *buf,
x509_crt.c:1088mbedtls_x509_crt_parse_der()::chainmbedtls_x509_crt_parse_der()
x509_crt.c:1092mbedtls_x509_crt_parse_der()::crtmbedtls_x509_crt_parse_der()
mbedtls_x509_crt *crt = chain, *prev = NULL;
x509_crt.c:1111mbedtls_x509_crt_parse_der()
crt->next = mbedtls_calloc( 1, sizeof( mbedtls_x509_crt ) );
x509_crt.c:1127mbedtls_x509_crt_parse_der()
mbedtls_free( crt );
x509_crt.c:1139mbedtls_x509_crt_parse()::chainmbedtls_x509_crt_parse()
int mbedtls_x509_crt_parse( mbedtls_x509_crt *chain, const unsigned char *buf, size_t buflen )
x509_crt.c:1530mbedtls_x509_crt_info()::crtmbedtls_x509_crt_info()
x509_crt.c:1890x509_crt_check_signature()::childx509_crt_check_signature()
x509_crt.c:1891x509_crt_check_signature()::parentx509_crt_check_signature()
x509_crt.c:1930x509_crt_check_parent()::childx509_crt_check_parent()
x509_crt.c:1931x509_crt_check_parent()::parentx509_crt_check_parent()
x509_crt.c:2005x509_crt_find_parent_in()::childx509_crt_find_parent_in()
x509_crt.c:2006x509_crt_find_parent_in()::candidatesx509_crt_find_parent_in()
x509_crt.c:2007x509_crt_find_parent_in()::r_parentx509_crt_find_parent_in()
x509_crt.c:2015x509_crt_find_parent_in()::parentx509_crt_find_parent_in()
mbedtls_x509_crt *parent, *fallback_parent;
x509_crt.c:2130x509_crt_find_parent()::childx509_crt_find_parent()
x509_crt.c:2131x509_crt_find_parent()::trust_cax509_crt_find_parent()
x509_crt.c:2132x509_crt_find_parent()::parentx509_crt_find_parent()
x509_crt.c:2140x509_crt_find_parent()::search_listx509_crt_find_parent()
mbedtls_x509_crt *search_list;
x509_crt.c:2197x509_crt_check_ee_locally_trusted()::crtx509_crt_check_ee_locally_trusted()
x509_crt.c:2198x509_crt_check_ee_locally_trusted()::trust_cax509_crt_check_ee_locally_trusted()
x509_crt.c:2200x509_crt_check_ee_locally_trusted()::curx509_crt_check_ee_locally_trusted()
x509_crt.c:2261x509_crt_verify_chain()::crtx509_crt_verify_chain()
x509_crt.c:2262x509_crt_verify_chain()::trust_cax509_crt_verify_chain()
x509_crt.c:2273x509_crt_verify_chain()::childx509_crt_verify_chain()
x509_crt.c:2274x509_crt_verify_chain()::parentx509_crt_verify_chain()
x509_crt.c:2430x509_crt_verify_name()::crtx509_crt_verify_name()
x509_crt.c:2471#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.c:2497mbedtls_x509_crt_verify()::crtmbedtls_x509_crt_verify()
x509_crt.c:2498mbedtls_x509_crt_verify()::trust_cambedtls_x509_crt_verify()
x509_crt.c:2501#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.c:2512mbedtls_x509_crt_verify_with_profile()::crtmbedtls_x509_crt_verify_with_profile()
x509_crt.c:2513mbedtls_x509_crt_verify_with_profile()::trust_cambedtls_x509_crt_verify_with_profile()
x509_crt.c:2517#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.c:2534mbedtls_x509_crt_verify_restartable()::crtmbedtls_x509_crt_verify_restartable()
x509_crt.c:2535mbedtls_x509_crt_verify_restartable()::trust_cambedtls_x509_crt_verify_restartable()
x509_crt.c:2539#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.c:2611mbedtls_x509_crt_init()::crtmbedtls_x509_crt_init()
x509_crt.c:2613mbedtls_x509_crt_init()
memset( crt, 0, sizeof(mbedtls_x509_crt) );
x509_crt.c:2619mbedtls_x509_crt_free()::crtmbedtls_x509_crt_free()
x509_crt.c:2621mbedtls_x509_crt_free()::cert_curmbedtls_x509_crt_free()
mbedtls_x509_crt *cert_cur = crt;
x509_crt.c:2622mbedtls_x509_crt_free()::cert_prvmbedtls_x509_crt_free()
mbedtls_x509_crt *cert_prv;
x509_crt.c:2693mbedtls_x509_crt_free()
x509_crt.c:2695mbedtls_x509_crt_free()
mbedtls_free( cert_prv );
x509_crt.h:93mbedtls_x509_crt::nextmbedtls_x509_crt
struct mbedtls_x509_crt *next; /**< Next certificate in the CA-chain. */
x509_crt.h:95mbedtls_x509_crt
x509_crt.h:150mbedtls_x509_crt_verify_chain_item::crtmbedtls_x509_crt_verify_chain_item
x509_crt.h:231mbedtls_x509_crt_parse_der()::chainmbedtls_x509_crt_parse_der()
x509_crt.h:264mbedtls_x509_crt_parse()::chainmbedtls_x509_crt_parse()
int mbedtls_x509_crt_parse( mbedtls_x509_crt *chain, const unsigned char *buf, size_t buflen );
x509_crt.h:311mbedtls_x509_crt_info()::crtmbedtls_x509_crt_info()
x509_crt.h:386mbedtls_x509_crt_verify()::crtmbedtls_x509_crt_verify()
x509_crt.h:387mbedtls_x509_crt_verify()::trust_cambedtls_x509_crt_verify()
x509_crt.h:390#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.h:420mbedtls_x509_crt_verify_with_profile()::crtmbedtls_x509_crt_verify_with_profile()
x509_crt.h:421mbedtls_x509_crt_verify_with_profile()::trust_cambedtls_x509_crt_verify_with_profile()
x509_crt.h:425#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.h:450mbedtls_x509_crt_verify_restartable()::crtmbedtls_x509_crt_verify_restartable()
x509_crt.h:451mbedtls_x509_crt_verify_restartable()::trust_cambedtls_x509_crt_verify_restartable()
x509_crt.h:455#1
int (*f_vrfy)(void *, mbedtls_x509_crt *, int, uint32_t *),
x509_crt.h:522mbedtls_x509_crt_init()::crtmbedtls_x509_crt_init()
x509_crt.h:529mbedtls_x509_crt_free()::crtmbedtls_x509_crt_free()

Type Use

Variables of mbedtls_x509_crt type
#1
mbedtls_ssl_config::f_vrfy::#1
ssl_write_certificate_request()::crt
mbedtls_ssl_write_certificate()::crt
mbedtls_ssl_parse_certificate()::ca_chain
mbedtls_x509_crt_parse_der()::crt
mbedtls_x509_crt_parse_der()::prev
x509_crt_find_parent_in()::parent
x509_crt_find_parent_in()::fallback_parent
x509_crt_find_parent()::search_list
x509_crt_check_ee_locally_trusted()::cur
x509_crt_verify_chain()::child
x509_crt_verify_chain()::parent
mbedtls_x509_crt_free()::cert_cur
mbedtls_x509_crt_free()::cert_prv
all items filtered out
mbedtls_x509_crt
all items filtered out
mbedtls_x509_crt
all items filtered out