ASN.1 (Abstract Syntax Notation One) More...
Go to the source code of this file.
Data Structures | |
struct | Asn1Tag |
ASN.1 tag. More... | |
Macros | |
#define | ASN1_TAG_NUMBER_MASK 0x1F |
#define | ASN1_ENCODING_MASK 0x20 |
#define | ASN1_ENCODING_PRIMITIVE 0x00 |
#define | ASN1_ENCODING_CONSTRUCTED 0x20 |
#define | ASN1_CLASS_MASK 0xC0 |
#define | ASN1_CLASS_UNIVERSAL 0x00 |
#define | ASN1_CLASS_APPLICATION 0x40 |
#define | ASN1_CLASS_CONTEXT_SPECIFIC 0x80 |
#define | ASN1_CLASS_PRIVATE 0xC0 |
Enumerations | |
enum | Asn1Type { ASN1_TYPE_BOOLEAN = 1, ASN1_TYPE_INTEGER = 2, ASN1_TYPE_BIT_STRING = 3, ASN1_TYPE_OCTET_STRING = 4, ASN1_TYPE_NULL = 5, ASN1_TYPE_OBJECT_IDENTIFIER = 6, ASN1_TYPE_OBJECT_DESCRIPTOR = 7, ASN1_TYPE_EXTERNAL = 8, ASN1_TYPE_REAL = 9, ASN1_TYPE_ENUMERATED = 10, ASN1_TYPE_UTF8_STRING = 12, ASN1_TYPE_SEQUENCE = 16, ASN1_TYPE_SET = 17, ASN1_TYPE_NUMERIC_STRING = 18, ASN1_TYPE_PRINTABLE_STRING = 19, ASN1_TYPE_TELETEX_STRING = 20, ASN1_TYPE_VIDEOTEX_STRING = 21, ASN1_TYPE_IA5_STRING = 22, ASN1_TYPE_UTC_TIME = 23, ASN1_TYPE_GENERALIZED_TIME = 24, ASN1_TYPE_GRAPHIC_STRING = 25, ASN1_TYPE_VISIBLE_STRING = 26, ASN1_TYPE_GENERAL_STRING = 27, ASN1_TYPE_UNIVERSAL_STRING = 28, ASN1_TYPE_BMP_STRING = 30 } |
ASN.1 data types. More... | |
Functions | |
error_t | asn1ReadTag (const uint8_t *data, size_t length, Asn1Tag *tag) |
Read an ASN.1 tag from the input stream. More... | |
error_t | asn1ReadSequence (const uint8_t *data, size_t length, Asn1Tag *tag) |
Read an ASN.1 sequence from the input stream. More... | |
error_t | asn1ReadOctetString (const uint8_t *data, size_t length, Asn1Tag *tag) |
Read an octet string from the input stream. More... | |
error_t | asn1ReadOid (const uint8_t *data, size_t length, Asn1Tag *tag) |
Read an object identifier from the input stream. More... | |
error_t | asn1ReadBoolean (const uint8_t *data, size_t length, Asn1Tag *tag, bool_t *value) |
Read a boolean from the input stream. More... | |
error_t | asn1ReadInt32 (const uint8_t *data, size_t length, Asn1Tag *tag, int32_t *value) |
Read a 32-bit integer from the input stream. More... | |
error_t | asn1WriteTag (Asn1Tag *tag, bool_t reverse, uint8_t *data, size_t *written) |
Write an ASN.1 tag. More... | |
error_t | asn1WriteInt32 (int32_t value, bool_t reverse, uint8_t *data, size_t *written) |
Write a 32-bit integer to the output stream. More... | |
error_t | asn1ReadMpi (const uint8_t *data, size_t length, Asn1Tag *tag, Mpi *value) |
Read a multiple-precision integer from the input stream. More... | |
error_t | asn1WriteMpi (const Mpi *value, bool_t reverse, uint8_t *data, size_t *written) |
Write a multiple-precision integer from the output stream. More... | |
error_t | asn1CheckTag (const Asn1Tag *tag, bool_t constructed, uint_t objClass, uint_t objType) |
Enforce the type of a specified tag. More... | |
error_t | asn1CheckOid (const Asn1Tag *tag, const uint8_t *oid, size_t length) |
Check ASN.1 tag against a specified OID. More... | |
error_t | asn1DumpObject (const uint8_t *data, size_t length, uint_t level) |
Display an ASN.1 data object. More... | |
Detailed Description
ASN.1 (Abstract Syntax Notation One)
License
SPDX-License-Identifier: GPL-2.0-or-later
Copyright (C) 2010-2024 Oryx Embedded SARL. All rights reserved.
This file is part of CycloneCRYPTO Open.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- Version
- 2.4.4
Definition in file asn1.h.
Macro Definition Documentation
◆ ASN1_CLASS_APPLICATION
◆ ASN1_CLASS_CONTEXT_SPECIFIC
◆ ASN1_CLASS_MASK
◆ ASN1_CLASS_PRIVATE
◆ ASN1_CLASS_UNIVERSAL
◆ ASN1_ENCODING_CONSTRUCTED
◆ ASN1_ENCODING_MASK
◆ ASN1_ENCODING_PRIMITIVE
◆ ASN1_TAG_NUMBER_MASK
Enumeration Type Documentation
◆ Asn1Type
enum Asn1Type |
ASN.1 data types.
Function Documentation
◆ asn1CheckOid()
◆ asn1CheckTag()
◆ asn1DumpObject()
◆ asn1ReadBoolean()
◆ asn1ReadInt32()
◆ asn1ReadMpi()
◆ asn1ReadOctetString()
◆ asn1ReadOid()
◆ asn1ReadSequence()
◆ asn1ReadTag()
◆ asn1WriteInt32()
◆ asn1WriteMpi()
Write a multiple-precision integer from the output stream.
- Parameters
-
[in] value Integer value [in] reverse Use reverse encoding [out] data Output stream where to write the tag (optional parameter) [out] written Number of bytes written to the output stream
- Returns
- Error code
◆ asn1WriteTag()
Write an ASN.1 tag.
- Parameters
-
[in] tag Structure describing the ASN.1 tag [in] reverse Use reverse encoding [out] data Output stream where to write the tag (optional parameter) [out] written Number of bytes written to the output stream (optional parameter)
- Returns
- Error code