Asn1_module

## ASN1 Error codes

These error codes are OR'ed to X509 error codes for higher error granularity. 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:

- 0x02 – tag indicating INTEGER
- 0x01 – length in octets
- 0x05 – value Such sequences are typically read into `mbedtls_x509_buf`.

#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_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_TAG_CLASS_MASK 0xC0
#define | MBEDTLS_ASN1_TAG_PC_MASK 0x20
#define | MBEDTLS_ASN1_TAG_VALUE_MASK 0x1F

## Detailed Description

## Macro Definition Documentation

## MBEDTLS_ASN1_BIT_STRING

#define MBEDTLS_ASN1_BIT_STRING 0x03

Definition at line 74 of file asn1.h.

## MBEDTLS_ASN1_BMP_STRING

#define MBEDTLS_ASN1_BMP_STRING 0x1E

Definition at line 87 of file asn1.h.

## MBEDTLS_ASN1_BOOLEAN

#define MBEDTLS_ASN1_BOOLEAN 0x01

Definition at line 72 of file asn1.h.

## MBEDTLS_ASN1_CONSTRUCTED

#define MBEDTLS_ASN1_CONSTRUCTED 0x20

Definition at line 89 of file asn1.h.

## MBEDTLS_ASN1_CONTEXT_SPECIFIC

#define MBEDTLS_ASN1_CONTEXT_SPECIFIC 0x80

Definition at line 90 of file asn1.h.

## MBEDTLS_ASN1_GENERALIZED_TIME

#define MBEDTLS_ASN1_GENERALIZED_TIME 0x18

Definition at line 85 of file asn1.h.

## MBEDTLS_ASN1_IA5_STRING

#define MBEDTLS_ASN1_IA5_STRING 0x16

Definition at line 83 of file asn1.h.

## MBEDTLS_ASN1_INTEGER

#define MBEDTLS_ASN1_INTEGER 0x02

Definition at line 73 of file asn1.h.

## MBEDTLS_ASN1_NULL

#define MBEDTLS_ASN1_NULL 0x05

Definition at line 76 of file asn1.h.

## MBEDTLS_ASN1_OCTET_STRING

#define MBEDTLS_ASN1_OCTET_STRING 0x04

Definition at line 75 of file asn1.h.

## MBEDTLS_ASN1_OID

#define MBEDTLS_ASN1_OID 0x06

Definition at line 77 of file asn1.h.

## MBEDTLS_ASN1_PRIMITIVE

#define MBEDTLS_ASN1_PRIMITIVE 0x00

Definition at line 88 of file asn1.h.

## MBEDTLS_ASN1_PRINTABLE_STRING

#define MBEDTLS_ASN1_PRINTABLE_STRING 0x13

Definition at line 81 of file asn1.h.

## MBEDTLS_ASN1_SEQUENCE

#define MBEDTLS_ASN1_SEQUENCE 0x10

Definition at line 79 of file asn1.h.

## MBEDTLS_ASN1_SET

#define MBEDTLS_ASN1_SET 0x11

Definition at line 80 of file asn1.h.

## MBEDTLS_ASN1_T61_STRING

#define MBEDTLS_ASN1_T61_STRING 0x14

Definition at line 82 of file asn1.h.

## MBEDTLS_ASN1_TAG_CLASS_MASK

#define MBEDTLS_ASN1_TAG_CLASS_MASK 0xC0

Definition at line 102 of file asn1.h.

## MBEDTLS_ASN1_TAG_PC_MASK

#define MBEDTLS_ASN1_TAG_PC_MASK 0x20

Definition at line 103 of file asn1.h.

## MBEDTLS_ASN1_TAG_VALUE_MASK

#define MBEDTLS_ASN1_TAG_VALUE_MASK 0x1F

Definition at line 104 of file asn1.h.

## MBEDTLS_ASN1_UNIVERSAL_STRING

#define MBEDTLS_ASN1_UNIVERSAL_STRING 0x1C

Definition at line 86 of file asn1.h.

## MBEDTLS_ASN1_UTC_TIME

#define MBEDTLS_ASN1_UTC_TIME 0x17

Definition at line 84 of file asn1.h.

## MBEDTLS_ASN1_UTF8_STRING

#define MBEDTLS_ASN1_UTF8_STRING 0x0C

Definition at line 78 of file asn1.h.

## MBEDTLS_ERR_ASN1_ALLOC_FAILED

#define MBEDTLS_ERR_ASN1_ALLOC_FAILED -0x006A

Memory allocation failed

Definition at line 56 of file asn1.h.

## MBEDTLS_ERR_ASN1_BUF_TOO_SMALL

#define MBEDTLS_ERR_ASN1_BUF_TOO_SMALL -0x006C

Buffer too small when writing ASN.1 data structure.

Definition at line 57 of file asn1.h.

## MBEDTLS_ERR_ASN1_INVALID_DATA

#define MBEDTLS_ERR_ASN1_INVALID_DATA -0x0068

Data is invalid. (not used)

Definition at line 55 of file asn1.h.

## MBEDTLS_ERR_ASN1_INVALID_LENGTH

#define MBEDTLS_ERR_ASN1_INVALID_LENGTH -0x0064

Error when trying to determine the length or invalid length.

Definition at line 53 of file asn1.h.

## MBEDTLS_ERR_ASN1_LENGTH_MISMATCH

#define MBEDTLS_ERR_ASN1_LENGTH_MISMATCH -0x0066

Actual length differs from expected length.

Definition at line 54 of file asn1.h.

## MBEDTLS_ERR_ASN1_OUT_OF_DATA

#define MBEDTLS_ERR_ASN1_OUT_OF_DATA -0x0060

Out of data when parsing an ASN1 data structure.

Definition at line 51 of file asn1.h.

## MBEDTLS_ERR_ASN1_UNEXPECTED_TAG

#define MBEDTLS_ERR_ASN1_UNEXPECTED_TAG -0x0062

ASN1 tag was of an unexpected value.

Definition at line 52 of file asn1.h.