|
XenevaOS
|
Classes | |
| struct | mbedtls_asn1_buf |
| struct | mbedtls_asn1_bitstring |
| struct | mbedtls_asn1_sequence |
| struct | mbedtls_asn1_named_data |
Macros | |
| #define | MBEDTLS_OID_SIZE(x) (sizeof(x) - 1) |
| #define | MBEDTLS_OID_CMP(oid_str, oid_buf) |
| #define | MBEDTLS_OID_CMP_RAW(oid_str, oid_buf, oid_buf_len) |
Functions | |
| unsigned char | mbedtls_asn1_named_data::MBEDTLS_PRIVATE (next_merged) |
Functions to parse ASN.1 data structures | |
| typedef struct mbedtls_asn1_buf | mbedtls_asn1_buf |
| typedef struct mbedtls_asn1_bitstring | mbedtls_asn1_bitstring |
| typedef struct mbedtls_asn1_sequence | mbedtls_asn1_sequence |
| typedef struct mbedtls_asn1_named_data | mbedtls_asn1_named_data |
ASN1 Error codes | |
These error codes are combined with other error codes for higher error granularity. e.g. X.509 and PKCS #7 error codes ASN1 is a standard to specify data structures. | |
| #define | MBEDTLS_ERR_ASN1_OUT_OF_DATA -0x0060 |
| #define | MBEDTLS_ERR_ASN1_UNEXPECTED_TAG -0x0062 |
| #define | MBEDTLS_ERR_ASN1_INVALID_LENGTH -0x0064 |
| #define | MBEDTLS_ERR_ASN1_LENGTH_MISMATCH -0x0066 |
| #define | MBEDTLS_ERR_ASN1_INVALID_DATA -0x0068 |
| #define | MBEDTLS_ERR_ASN1_ALLOC_FAILED -0x006A |
| #define | MBEDTLS_ERR_ASN1_BUF_TOO_SMALL -0x006C |
DER constants | |
These constants comply with the DER encoded ASN.1 type tags. DER encoding uses hexadecimal representation. An example DER sequence is:
| |
| #define | MBEDTLS_ASN1_BOOLEAN 0x01 |
| #define | MBEDTLS_ASN1_INTEGER 0x02 |
| #define | MBEDTLS_ASN1_BIT_STRING 0x03 |
| #define | MBEDTLS_ASN1_OCTET_STRING 0x04 |
| #define | MBEDTLS_ASN1_NULL 0x05 |
| #define | MBEDTLS_ASN1_OID 0x06 |
| #define | MBEDTLS_ASN1_ENUMERATED 0x0A |
| #define | MBEDTLS_ASN1_UTF8_STRING 0x0C |
| #define | MBEDTLS_ASN1_SEQUENCE 0x10 |
| #define | MBEDTLS_ASN1_SET 0x11 |
| #define | MBEDTLS_ASN1_PRINTABLE_STRING 0x13 |
| #define | MBEDTLS_ASN1_T61_STRING 0x14 |
| #define | MBEDTLS_ASN1_IA5_STRING 0x16 |
| #define | MBEDTLS_ASN1_UTC_TIME 0x17 |
| #define | MBEDTLS_ASN1_GENERALIZED_TIME 0x18 |
| #define | MBEDTLS_ASN1_UNIVERSAL_STRING 0x1C |
| #define | MBEDTLS_ASN1_BMP_STRING 0x1E |
| #define | MBEDTLS_ASN1_PRIMITIVE 0x00 |
| #define | MBEDTLS_ASN1_CONSTRUCTED 0x20 |
| #define | MBEDTLS_ASN1_CONTEXT_SPECIFIC 0x80 |
| #define | MBEDTLS_ASN1_IS_STRING_TAG(tag) |
| #define | MBEDTLS_ASN1_TAG_CLASS_MASK 0xC0 |
| #define | MBEDTLS_ASN1_TAG_PC_MASK 0x20 |
| #define | MBEDTLS_ASN1_TAG_VALUE_MASK 0x1F |
| #define MBEDTLS_ASN1_BIT_STRING 0x03 |
| #define MBEDTLS_ASN1_BMP_STRING 0x1E |
| #define MBEDTLS_ASN1_BOOLEAN 0x01 |
| #define MBEDTLS_ASN1_CONSTRUCTED 0x20 |
| #define MBEDTLS_ASN1_CONTEXT_SPECIFIC 0x80 |
| #define MBEDTLS_ASN1_ENUMERATED 0x0A |
| #define MBEDTLS_ASN1_GENERALIZED_TIME 0x18 |
| #define MBEDTLS_ASN1_IA5_STRING 0x16 |
| #define MBEDTLS_ASN1_INTEGER 0x02 |
| #define MBEDTLS_ASN1_IS_STRING_TAG | ( | tag | ) |
| #define MBEDTLS_ASN1_NULL 0x05 |
| #define MBEDTLS_ASN1_OCTET_STRING 0x04 |
| #define MBEDTLS_ASN1_OID 0x06 |
| #define MBEDTLS_ASN1_PRIMITIVE 0x00 |
| #define MBEDTLS_ASN1_PRINTABLE_STRING 0x13 |
| #define MBEDTLS_ASN1_SEQUENCE 0x10 |
| #define MBEDTLS_ASN1_SET 0x11 |
| #define MBEDTLS_ASN1_T61_STRING 0x14 |
| #define MBEDTLS_ASN1_TAG_CLASS_MASK 0xC0 |
| #define MBEDTLS_ASN1_TAG_PC_MASK 0x20 |
| #define MBEDTLS_ASN1_TAG_VALUE_MASK 0x1F |
| #define MBEDTLS_ASN1_UNIVERSAL_STRING 0x1C |
| #define MBEDTLS_ASN1_UTC_TIME 0x17 |
| #define MBEDTLS_ASN1_UTF8_STRING 0x0C |
| #define MBEDTLS_ERR_ASN1_ALLOC_FAILED -0x006A |
Memory allocation failed
| #define MBEDTLS_ERR_ASN1_BUF_TOO_SMALL -0x006C |
Buffer too small when writing ASN.1 data structure.
| #define MBEDTLS_ERR_ASN1_INVALID_DATA -0x0068 |
Data is invalid.
| #define MBEDTLS_ERR_ASN1_INVALID_LENGTH -0x0064 |
Error when trying to determine the length or invalid length.
| #define MBEDTLS_ERR_ASN1_LENGTH_MISMATCH -0x0066 |
Actual length differs from expected length.
| #define MBEDTLS_ERR_ASN1_OUT_OF_DATA -0x0060 |
Out of data when parsing an ASN1 data structure.
| #define MBEDTLS_ERR_ASN1_UNEXPECTED_TAG -0x0062 |
ASN1 tag was of an unexpected value.
| #define MBEDTLS_OID_CMP | ( | oid_str, | |
| oid_buf | |||
| ) |
Compares an mbedtls_asn1_buf structure to a reference OID.
Only works for 'defined' oid_str values (MBEDTLS_OID_HMAC_SHA1), you cannot use a 'unsigned char *oid' here!
| #define MBEDTLS_OID_CMP_RAW | ( | oid_str, | |
| oid_buf, | |||
| oid_buf_len | |||
| ) |
| #define MBEDTLS_OID_SIZE | ( | x | ) | (sizeof(x) - 1) |
Returns the size of the binary string, without the trailing \0
| typedef struct mbedtls_asn1_bitstring mbedtls_asn1_bitstring |
Container for ASN1 bit strings.
| typedef struct mbedtls_asn1_buf mbedtls_asn1_buf |
Type-length-value structure that allows for ASN1 using DER.
| typedef struct mbedtls_asn1_named_data mbedtls_asn1_named_data |
Container for a sequence or list of 'named' ASN.1 data items
| typedef struct mbedtls_asn1_sequence mbedtls_asn1_sequence |
Container for a sequence of ASN.1 items
| unsigned char mbedtls_asn1_named_data::MBEDTLS_PRIVATE | ( | next_merged | ) |
Merge next item into the current one?
This field exists for the sake of Mbed TLS's X.509 certificate parsing code and may change in future versions of the library.
| mbedtls_asn1_buf mbedtls_asn1_sequence::buf |
Buffer containing the given ASN.1 item.
| size_t mbedtls_asn1_buf::len |
ASN1 length, in octets.
| size_t mbedtls_asn1_bitstring::len |
ASN1 length, in octets.
| struct mbedtls_asn1_sequence* mbedtls_asn1_sequence::next |
The next entry in the sequence.
The details of memory management for sequences are not documented and may change in future versions. Set this field to NULL when initializing a structure, and do not modify it except via Mbed TLS library functions.
| struct mbedtls_asn1_named_data* mbedtls_asn1_named_data::next |
The next entry in the sequence.
The details of memory management for named data sequences are not documented and may change in future versions. Set this field to NULL when initializing a structure, and do not modify it except via Mbed TLS library functions.
| mbedtls_asn1_buf mbedtls_asn1_named_data::oid |
The object identifier.
| unsigned char* mbedtls_asn1_buf::p |
ASN1 data, e.g. in ASCII.
| unsigned char* mbedtls_asn1_bitstring::p |
Raw ASN1 data for the bit string
| int mbedtls_asn1_buf::tag |
ASN1 type, e.g. MBEDTLS_ASN1_UTF8_STRING.
| unsigned char mbedtls_asn1_bitstring::unused_bits |
Number of unused bits at the end of the string
| mbedtls_asn1_buf mbedtls_asn1_named_data::val |
The named value.