mbed TLS v3.1.0
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_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
 

Detailed Description

Macro Definition Documentation

#define MBEDTLS_ASN1_BIT_STRING   0x03

Definition at line 76 of file asn1.h.

#define MBEDTLS_ASN1_BMP_STRING   0x1E

Definition at line 90 of file asn1.h.

#define MBEDTLS_ASN1_BOOLEAN   0x01

Definition at line 74 of file asn1.h.

#define MBEDTLS_ASN1_CONSTRUCTED   0x20

Definition at line 92 of file asn1.h.

#define MBEDTLS_ASN1_CONTEXT_SPECIFIC   0x80

Definition at line 93 of file asn1.h.

#define MBEDTLS_ASN1_ENUMERATED   0x0A

Definition at line 80 of file asn1.h.

#define MBEDTLS_ASN1_GENERALIZED_TIME   0x18

Definition at line 88 of file asn1.h.

#define MBEDTLS_ASN1_IA5_STRING   0x16

Definition at line 86 of file asn1.h.

#define MBEDTLS_ASN1_INTEGER   0x02

Definition at line 75 of file asn1.h.

#define MBEDTLS_ASN1_IS_STRING_TAG (   tag)
Value:
( ( tag ) < 32u && ( \
( ( 1u << ( tag ) ) & ( ( 1u << MBEDTLS_ASN1_BMP_STRING ) | \
( 1u << MBEDTLS_ASN1_BIT_STRING ) ) ) != 0 ) )
#define MBEDTLS_ASN1_PRINTABLE_STRING
Definition: asn1.h:84
#define MBEDTLS_ASN1_UNIVERSAL_STRING
Definition: asn1.h:89
#define MBEDTLS_ASN1_IA5_STRING
Definition: asn1.h:86
#define MBEDTLS_ASN1_UTF8_STRING
Definition: asn1.h:81
#define MBEDTLS_ASN1_BIT_STRING
Definition: asn1.h:76
#define MBEDTLS_ASN1_BMP_STRING
Definition: asn1.h:90
#define MBEDTLS_ASN1_T61_STRING
Definition: asn1.h:85

Definition at line 97 of file asn1.h.

#define MBEDTLS_ASN1_NULL   0x05

Definition at line 78 of file asn1.h.

#define MBEDTLS_ASN1_OCTET_STRING   0x04

Definition at line 77 of file asn1.h.

#define MBEDTLS_ASN1_OID   0x06

Definition at line 79 of file asn1.h.

#define MBEDTLS_ASN1_PRIMITIVE   0x00

Definition at line 91 of file asn1.h.

#define MBEDTLS_ASN1_PRINTABLE_STRING   0x13

Definition at line 84 of file asn1.h.

#define MBEDTLS_ASN1_SEQUENCE   0x10

Definition at line 82 of file asn1.h.

#define MBEDTLS_ASN1_SET   0x11

Definition at line 83 of file asn1.h.

#define MBEDTLS_ASN1_T61_STRING   0x14

Definition at line 85 of file asn1.h.

#define MBEDTLS_ASN1_TAG_CLASS_MASK   0xC0

Definition at line 117 of file asn1.h.

#define MBEDTLS_ASN1_TAG_PC_MASK   0x20

Definition at line 118 of file asn1.h.

#define MBEDTLS_ASN1_TAG_VALUE_MASK   0x1F

Definition at line 119 of file asn1.h.

#define MBEDTLS_ASN1_UNIVERSAL_STRING   0x1C

Definition at line 89 of file asn1.h.

#define MBEDTLS_ASN1_UTC_TIME   0x17

Definition at line 87 of file asn1.h.

#define MBEDTLS_ASN1_UTF8_STRING   0x0C

Definition at line 81 of file asn1.h.

#define MBEDTLS_ERR_ASN1_ALLOC_FAILED   -0x006A

Memory allocation failed

Definition at line 57 of file asn1.h.

#define MBEDTLS_ERR_ASN1_BUF_TOO_SMALL   -0x006C

Buffer too small when writing ASN.1 data structure.

Definition at line 59 of file asn1.h.

#define MBEDTLS_ERR_ASN1_INVALID_DATA   -0x0068

Data is invalid.

Definition at line 55 of file asn1.h.

#define MBEDTLS_ERR_ASN1_INVALID_LENGTH   -0x0064

Error when trying to determine the length or invalid length.

Definition at line 51 of file asn1.h.

#define MBEDTLS_ERR_ASN1_LENGTH_MISMATCH   -0x0066

Actual length differs from expected length.

Definition at line 53 of file asn1.h.

#define MBEDTLS_ERR_ASN1_OUT_OF_DATA   -0x0060

Out of data when parsing an ASN1 data structure.

Definition at line 47 of file asn1.h.

#define MBEDTLS_ERR_ASN1_UNEXPECTED_TAG   -0x0062

ASN1 tag was of an unexpected value.

Definition at line 49 of file asn1.h.