Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: TYBLE16_simple_data_logger TYBLE16_MP3_Air
asn1write.h File Reference
ASN.1 buffer writing functionality. More...
Go to the source code of this file.
Functions | |
| int | mbedtls_asn1_write_len (unsigned char **p, unsigned char *start, size_t len) |
| Write a length field in ASN.1 format. | |
| int | mbedtls_asn1_write_tag (unsigned char **p, unsigned char *start, unsigned char tag) |
| Write an ASN.1 tag in ASN.1 format. | |
| int | mbedtls_asn1_write_raw_buffer (unsigned char **p, unsigned char *start, const unsigned char *buf, size_t size) |
| Write raw buffer data. | |
| int | mbedtls_asn1_write_mpi (unsigned char **p, unsigned char *start, const mbedtls_mpi *X) |
| Write a arbitrary-precision number (MBEDTLS_ASN1_INTEGER) in ASN.1 format. | |
| int | mbedtls_asn1_write_null (unsigned char **p, unsigned char *start) |
| Write a NULL tag (MBEDTLS_ASN1_NULL) with zero data in ASN.1 format. | |
| int | mbedtls_asn1_write_oid (unsigned char **p, unsigned char *start, const char *oid, size_t oid_len) |
| Write an OID tag (MBEDTLS_ASN1_OID) and data in ASN.1 format. | |
| int | mbedtls_asn1_write_algorithm_identifier (unsigned char **p, unsigned char *start, const char *oid, size_t oid_len, size_t par_len) |
| Write an AlgorithmIdentifier sequence in ASN.1 format. | |
| int | mbedtls_asn1_write_bool (unsigned char **p, unsigned char *start, int boolean) |
| Write a boolean tag (MBEDTLS_ASN1_BOOLEAN) and value in ASN.1 format. | |
| int | mbedtls_asn1_write_int (unsigned char **p, unsigned char *start, int val) |
| Write an int tag (MBEDTLS_ASN1_INTEGER) and value in ASN.1 format. | |
| int | mbedtls_asn1_write_tagged_string (unsigned char **p, unsigned char *start, int tag, const char *text, size_t text_len) |
| Write a string in ASN.1 format using a specific string encoding tag. | |
| int | mbedtls_asn1_write_printable_string (unsigned char **p, unsigned char *start, const char *text, size_t text_len) |
| Write a string in ASN.1 format using the PrintableString string encoding tag (MBEDTLS_ASN1_PRINTABLE_STRING). | |
| int | mbedtls_asn1_write_utf8_string (unsigned char **p, unsigned char *start, const char *text, size_t text_len) |
| Write a UTF8 string in ASN.1 format using the UTF8String string encoding tag (MBEDTLS_ASN1_UTF8_STRING). | |
| int | mbedtls_asn1_write_ia5_string (unsigned char **p, unsigned char *start, const char *text, size_t text_len) |
| Write a string in ASN.1 format using the IA5String string encoding tag (MBEDTLS_ASN1_IA5_STRING). | |
| int | mbedtls_asn1_write_bitstring (unsigned char **p, unsigned char *start, const unsigned char *buf, size_t bits) |
| Write a bitstring tag (MBEDTLS_ASN1_BIT_STRING) and value in ASN.1 format. | |
| int | mbedtls_asn1_write_named_bitstring (unsigned char **p, unsigned char *start, const unsigned char *buf, size_t bits) |
| This function writes a named bitstring tag (MBEDTLS_ASN1_BIT_STRING) and value in ASN.1 format. | |
| int | mbedtls_asn1_write_octet_string (unsigned char **p, unsigned char *start, const unsigned char *buf, size_t size) |
| Write an octet string tag (MBEDTLS_ASN1_OCTET_STRING) and value in ASN.1 format. | |
| mbedtls_asn1_named_data * | mbedtls_asn1_store_named_data (mbedtls_asn1_named_data **list, const char *oid, size_t oid_len, const unsigned char *val, size_t val_len) |
| Create or find a specific named_data entry for writing in a sequence or list based on the OID. | |
Detailed Description
ASN.1 buffer writing functionality.
Definition in file asn1write.h.
Function Documentation
| mbedtls_asn1_named_data* mbedtls_asn1_store_named_data | ( | mbedtls_asn1_named_data ** | list, |
| const char * | oid, | ||
| size_t | oid_len, | ||
| const unsigned char * | val, | ||
| size_t | val_len | ||
| ) |
Create or find a specific named_data entry for writing in a sequence or list based on the OID.
If not already in there, a new entry is added to the head of the list. Warning: Destructive behaviour for the val data!
- Parameters:
-
list The pointer to the location of the head of the list to seek through (will be updated in case of a new entry). oid The OID to look for. oid_len The size of the OID. val The associated data to store. If this is NULL, no data is copied to the new or existing buffer.val_len The minimum length of the data buffer needed. If this is 0, do not allocate a buffer for the associated data. If the OID was already present, enlarge, shrink or free the existing buffer to fit val_len.
- Returns:
- A pointer to the new / existing entry on success.
-
NULLif if there was a memory allocation error.
Definition at line 407 of file asn1write.c.
| int mbedtls_asn1_write_algorithm_identifier | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const char * | oid, | ||
| size_t | oid_len, | ||
| size_t | par_len | ||
| ) |
Write an AlgorithmIdentifier sequence in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. oid The OID of the algorithm to write. oid_len The length of the algorithm's OID. par_len The length of the parameters, which must be already written. If 0, NULL parameters are added
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 196 of file asn1write.c.
| int mbedtls_asn1_write_bitstring | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const unsigned char * | buf, | ||
| size_t | bits | ||
| ) |
Write a bitstring tag (MBEDTLS_ASN1_BIT_STRING) and value in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. buf The bitstring to write. bits The total number of bits in the bitstring.
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 339 of file asn1write.c.
| int mbedtls_asn1_write_bool | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| int | boolean | ||
| ) |
Write a boolean tag (MBEDTLS_ASN1_BOOLEAN) and value in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. boolean The boolean value to write, either 0or1.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 217 of file asn1write.c.
| int mbedtls_asn1_write_ia5_string | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const char * | text, | ||
| size_t | text_len | ||
| ) |
Write a string in ASN.1 format using the IA5String string encoding tag (MBEDTLS_ASN1_IA5_STRING).
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. text The string to write. text_len The length of textin bytes (which might be strictly larger than the number of characters).
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 290 of file asn1write.c.
| int mbedtls_asn1_write_int | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| int | val | ||
| ) |
Write an int tag (MBEDTLS_ASN1_INTEGER) and value in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. val The integer value to write. It must be non-negative.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 234 of file asn1write.c.
| int mbedtls_asn1_write_len | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| size_t | len | ||
| ) |
Write a length field in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. len The length value to write.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 42 of file asn1write.c.
| int mbedtls_asn1_write_mpi | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const mbedtls_mpi * | X | ||
| ) |
Write a arbitrary-precision number (MBEDTLS_ASN1_INTEGER) in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. X The MPI to write. It must be non-negative.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 132 of file asn1write.c.
| int mbedtls_asn1_write_named_bitstring | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const unsigned char * | buf, | ||
| size_t | bits | ||
| ) |
This function writes a named bitstring tag (MBEDTLS_ASN1_BIT_STRING) and value in ASN.1 format.
As stated in RFC 5280 Appendix B, trailing zeroes are omitted when encoding named bitstrings in DER.
- Note:
- This function works backwards within the data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer which is used for bounds-checking. buf The bitstring to write. bits The total number of bits in the bitstring.
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 296 of file asn1write.c.
| int mbedtls_asn1_write_null | ( | unsigned char ** | p, |
| unsigned char * | start | ||
| ) |
Write a NULL tag (MBEDTLS_ASN1_NULL) with zero data in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 169 of file asn1write.c.
| int mbedtls_asn1_write_octet_string | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const unsigned char * | buf, | ||
| size_t | size | ||
| ) |
Write an octet string tag (MBEDTLS_ASN1_OCTET_STRING) and value in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. buf The buffer holding the data to write. size The length of the data buffer buf.
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 372 of file asn1write.c.
| int mbedtls_asn1_write_oid | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const char * | oid, | ||
| size_t | oid_len | ||
| ) |
Write an OID tag (MBEDTLS_ASN1_OID) and data in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. oid The OID to write. oid_len The length of the OID.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 182 of file asn1write.c.
| int mbedtls_asn1_write_printable_string | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const char * | text, | ||
| size_t | text_len | ||
| ) |
Write a string in ASN.1 format using the PrintableString string encoding tag (MBEDTLS_ASN1_PRINTABLE_STRING).
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. text The string to write. text_len The length of textin bytes (which might be strictly larger than the number of characters).
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 284 of file asn1write.c.
| int mbedtls_asn1_write_raw_buffer | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const unsigned char * | buf, | ||
| size_t | size | ||
| ) |
Write raw buffer data.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. buf The data buffer to write. size The length of the data buffer.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 116 of file asn1write.c.
| int mbedtls_asn1_write_tag | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| unsigned char | tag | ||
| ) |
Write an ASN.1 tag in ASN.1 format.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. tag The tag to write.
- Returns:
- The number of bytes written to
pon success. -
A negative
MBEDTLS_ERR_ASN1_XXXerror code on failure.
Definition at line 106 of file asn1write.c.
| int mbedtls_asn1_write_tagged_string | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| int | tag, | ||
| const char * | text, | ||
| size_t | text_len | ||
| ) |
Write a string in ASN.1 format using a specific string encoding tag.
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. tag The string encoding tag to write, e.g. MBEDTLS_ASN1_UTF8_STRING. text The string to write. text_len The length of textin bytes (which might be strictly larger than the number of characters).
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 263 of file asn1write.c.
| int mbedtls_asn1_write_utf8_string | ( | unsigned char ** | p, |
| unsigned char * | start, | ||
| const char * | text, | ||
| size_t | text_len | ||
| ) |
Write a UTF8 string in ASN.1 format using the UTF8String string encoding tag (MBEDTLS_ASN1_UTF8_STRING).
- Note:
- This function works backwards in data buffer.
- Parameters:
-
p The reference to the current position pointer. start The start of the buffer, for bounds-checking. text The string to write. text_len The length of textin bytes (which might be strictly larger than the number of characters).
- Returns:
- The number of bytes written to
pon success. - A negative error code on failure.
Definition at line 278 of file asn1write.c.
Generated on Tue Jul 12 2022 13:55:05 by
1.7.2