|
#define | MBEDTLS_OID_CMP(oid_str, oid_buf) |
|
#define | MBEDTLS_OID_SIZE(x) (sizeof(x) - 1) |
|
|
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 |
|
|
These constants comply with DER encoded the ANS1 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 |
|
|
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 |
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
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. More...
|
|
void | mbedtls_asn1_free_named_data (mbedtls_asn1_named_data *entry) |
| Free a mbedtls_asn1_named_data entry. More...
|
|
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. More...
|
|
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)