mbedtls ported to mbed-classic
Fork of mbedtls by
asn1.h File Reference
Generic ASN.1 parsing. More...
Go to the source code of this file.
Data Structures | |
struct | mbedtls_asn1_buf |
Type-length-value structure that allows for ASN1 using DER. More... | |
struct | mbedtls_asn1_bitstring |
Container for ASN1 bit strings. More... | |
struct | mbedtls_asn1_sequence |
Container for a sequence of ASN.1 items. More... | |
struct | mbedtls_asn1_named_data |
Container for a sequence or list of 'named' ASN.1 data items. More... | |
Functions to parse ASN.1 data structures | |
typedef struct mbedtls_asn1_buf | mbedtls_asn1_buf |
Type-length-value structure that allows for ASN1 using DER. | |
typedef struct mbedtls_asn1_bitstring | mbedtls_asn1_bitstring |
Container for ASN1 bit strings. | |
typedef struct mbedtls_asn1_sequence | mbedtls_asn1_sequence |
Container for a sequence of ASN.1 items. | |
typedef struct mbedtls_asn1_named_data | mbedtls_asn1_named_data |
Container for a sequence or list of 'named' ASN.1 data items. | |
int | mbedtls_asn1_get_len (unsigned char **p, const unsigned char *end, size_t *len) |
Get the length of an ASN.1 element. | |
int | mbedtls_asn1_get_tag (unsigned char **p, const unsigned char *end, size_t *len, int tag) |
Get the tag and length of the tag. | |
int | mbedtls_asn1_get_bool (unsigned char **p, const unsigned char *end, int *val) |
Retrieve a boolean ASN.1 tag and its value. | |
int | mbedtls_asn1_get_int (unsigned char **p, const unsigned char *end, int *val) |
Retrieve an integer ASN.1 tag and its value. | |
int | mbedtls_asn1_get_bitstring (unsigned char **p, const unsigned char *end, mbedtls_asn1_bitstring *bs) |
Retrieve a bitstring ASN.1 tag and its value. | |
int | mbedtls_asn1_get_bitstring_null (unsigned char **p, const unsigned char *end, size_t *len) |
Retrieve a bitstring ASN.1 tag without unused bits and its value. | |
int | mbedtls_asn1_get_sequence_of (unsigned char **p, const unsigned char *end, mbedtls_asn1_sequence *cur, int tag) |
Parses and splits an ASN.1 "SEQUENCE OF <tag>" Updated the pointer to immediately behind the full sequence tag. | |
int | mbedtls_asn1_get_mpi (unsigned char **p, const unsigned char *end, mbedtls_mpi *X) |
Retrieve a MPI value from an integer ASN.1 tag. | |
int | mbedtls_asn1_get_alg (unsigned char **p, const unsigned char *end, mbedtls_asn1_buf *alg, mbedtls_asn1_buf *params) |
Retrieve an AlgorithmIdentifier ASN.1 sequence. | |
int | mbedtls_asn1_get_alg_null (unsigned char **p, const unsigned char *end, mbedtls_asn1_buf *alg) |
Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params. | |
mbedtls_asn1_named_data * | mbedtls_asn1_find_named_data (mbedtls_asn1_named_data *list, const char *oid, size_t len) |
Find a specific named_data entry in a sequence or list based on the OID. | |
void | mbedtls_asn1_free_named_data (mbedtls_asn1_named_data *entry) |
Free a mbedtls_asn1_named_data entry. | |
void | mbedtls_asn1_free_named_data_list (mbedtls_asn1_named_data **head) |
Free all entries in a mbedtls_asn1_named_data list Head will be set to NULL. |
Detailed Description
Generic ASN.1 parsing.
Copyright (C) 2006-2015, ARM Limited, All Rights Reserved SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
This file is part of mbed TLS (https://tls.mbed.org)
Definition in file asn1.h.
Typedef Documentation
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.
Function Documentation
mbedtls_asn1_named_data* mbedtls_asn1_find_named_data | ( | mbedtls_asn1_named_data * | list, |
const char * | oid, | ||
size_t | len | ||
) |
Find a specific named_data entry in a sequence or list based on the OID.
- Parameters:
-
list The list to seek through oid The OID to look for len Size of the OID
- Returns:
- NULL if not found, or a pointer to the existing entry.
Definition at line 375 of file asn1parse.c.
void mbedtls_asn1_free_named_data | ( | mbedtls_asn1_named_data * | entry ) |
Free a mbedtls_asn1_named_data entry.
- Parameters:
-
entry The named data entry to free
Definition at line 352 of file asn1parse.c.
void mbedtls_asn1_free_named_data_list | ( | mbedtls_asn1_named_data ** | head ) |
Free all entries in a mbedtls_asn1_named_data list Head will be set to NULL.
- Parameters:
-
head Pointer to the head of the list of named data entries to free
Definition at line 363 of file asn1parse.c.
int mbedtls_asn1_get_alg | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
mbedtls_asn1_buf * | alg, | ||
mbedtls_asn1_buf * | params | ||
) |
Retrieve an AlgorithmIdentifier ASN.1 sequence.
Updates the pointer to immediately behind the full AlgorithmIdentifier.
- Parameters:
-
p The position in the ASN.1 data end End of data alg The buffer to receive the OID params The buffer to receive the params (if any)
- Returns:
- 0 if successful or a specific ASN.1 or MPI error code.
Definition at line 290 of file asn1parse.c.
int mbedtls_asn1_get_alg_null | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
mbedtls_asn1_buf * | alg | ||
) |
Retrieve an AlgorithmIdentifier ASN.1 sequence with NULL or no params.
Updates the pointer to immediately behind the full AlgorithmIdentifier.
- Parameters:
-
p The position in the ASN.1 data end End of data alg The buffer to receive the OID
- Returns:
- 0 if successful or a specific ASN.1 or MPI error code.
Definition at line 334 of file asn1parse.c.
int mbedtls_asn1_get_bitstring | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
mbedtls_asn1_bitstring * | bs | ||
) |
Retrieve a bitstring ASN.1 tag and its value.
Updates the pointer to immediately behind the full tag.
- Parameters:
-
p The position in the ASN.1 data end End of data bs The variable that will receive the value
- Returns:
- 0 if successful or a specific ASN.1 error code.
Definition at line 189 of file asn1parse.c.
int mbedtls_asn1_get_bitstring_null | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
size_t * | len | ||
) |
Retrieve a bitstring ASN.1 tag without unused bits and its value.
Updates the pointer to the beginning of the bit/octet string.
- Parameters:
-
p The position in the ASN.1 data end End of data len Length of the actual bit/octect string in bytes
- Returns:
- 0 if successful or a specific ASN.1 error code.
Definition at line 222 of file asn1parse.c.
int mbedtls_asn1_get_bool | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
int * | val | ||
) |
Retrieve a boolean ASN.1 tag and its value.
Updates the pointer to immediately behind the full tag.
- Parameters:
-
p The position in the ASN.1 data end End of data val The variable that will receive the value
- Returns:
- 0 if successful or a specific ASN.1 error code.
Definition at line 127 of file asn1parse.c.
int mbedtls_asn1_get_int | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
int * | val | ||
) |
Retrieve an integer ASN.1 tag and its value.
Updates the pointer to immediately behind the full tag.
- Parameters:
-
p The position in the ASN.1 data end End of data val The variable that will receive the value
- Returns:
- 0 if successful or a specific ASN.1 error code.
Definition at line 146 of file asn1parse.c.
int mbedtls_asn1_get_len | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
size_t * | len | ||
) |
Get the length of an ASN.1 element.
Updates the pointer to immediately behind the length.
- Parameters:
-
p The position in the ASN.1 data end End of data len The variable that will receive the value
- Returns:
- 0 if successful, MBEDTLS_ERR_ASN1_OUT_OF_DATA on reaching end of data, MBEDTLS_ERR_ASN1_INVALID_LENGTH if length is unparseable.
Definition at line 54 of file asn1parse.c.
int mbedtls_asn1_get_mpi | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
mbedtls_mpi * | X | ||
) |
Retrieve a MPI value from an integer ASN.1 tag.
Updates the pointer to immediately behind the full tag.
- Parameters:
-
p The position in the ASN.1 data end End of data X The MPI that will receive the value
- Returns:
- 0 if successful or a specific ASN.1 or MPI error code.
Definition at line 171 of file asn1parse.c.
int mbedtls_asn1_get_sequence_of | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
mbedtls_asn1_sequence * | cur, | ||
int | tag | ||
) |
Parses and splits an ASN.1 "SEQUENCE OF <tag>" Updated the pointer to immediately behind the full sequence tag.
- Parameters:
-
p The position in the ASN.1 data end End of data cur First variable in the chain to fill tag Type of sequence
- Returns:
- 0 if successful or a specific ASN.1 error code.
Definition at line 241 of file asn1parse.c.
int mbedtls_asn1_get_tag | ( | unsigned char ** | p, |
const unsigned char * | end, | ||
size_t * | len, | ||
int | tag | ||
) |
Get the tag and length of the tag.
Check for the requested tag. Updates the pointer to immediately behind the tag and length.
- Parameters:
-
p The position in the ASN.1 data end End of data len The variable that will receive the length tag The expected tag
- Returns:
- 0 if successful, MBEDTLS_ERR_ASN1_UNEXPECTED_TAG if tag did not match requested tag, or another specific ASN.1 error code.
Definition at line 112 of file asn1parse.c.
Generated on Tue Jul 12 2022 12:52:50 by 1.7.2