Module types

Module types 

Source
Expand description

§ASN.1 Data Types

The types modules is a collection of Rust types and data structures that are defined to represent various ASN.1 data types, and renamed to use ASN.1’s terminology.

Re-exports§

pub use self::constraints::Constraint;
pub use self::constraints::Constraints;
pub use self::constraints::Extensible;
pub use self::constraints::InnerSubtypeConstraint;

Modules§

constraints
Constraints of values on a given type.
fields
Representing all fields for a SEQUENCE or SET type.
variants
Representing all possible variants for a CHOICE type.

Structs§

Any
Represents a complete encoded ASN.1 value of any type (an open type in modern ASN.1). Commonly associated with an ObjectIdentifier.
BmpString
A Basic Multilingual Plane (BMP) string, which is a subtype of super::UniversalString containing only the BMP set of characters.
ConstrainedInteger
An integer which has encoded constraint range between START and END.
Explicit
A newtype wrapper that will explicitly tag its value with T’s tag.
FixedOctetString
An OCTET STRING which has a fixed size range. This type uses const generics to be able to place the octet string on the stack rather than the heap.
GeneralString
A “general” string containing the C0 Controls plane, SPACE, Basic Latin, DELETE, and Latin-1 Supplement characters.
GraphicString
A “graphic” string containing the SPACE, Basic Latin, and Latin-1 Supplement characters.
Ia5String
A string which only contains ASCII characters.
Identifier
The identifier of an ASN.1 type in an ASN.1 module. In most cases, the identifier is the human-readable type name as defined in the ASN.1 module. For built-in ASN.1 types, the XML tag names as defined in ITU-T X.680 (2021/02) §12.36 are used. Some ASN.1 types, most notably open types, do not have a consistent identifier.
Implicit
A newtype wrapper that will implicitly tag its value with T’s tag.
InstanceOf
An instance of a defined object class.
Integer
A dynamically sized integer type. This type is similar to num_bigint::BigInt in that it allows for integers of arbitary size making it ideal for handling ASN.1 INTEGER types, in addition this type includes small integer optimisations accounting for the fact integers decoded in ASN.1 don’t exceed native platform widths.
NumericString
A string which can only contain numbers or SPACE characters.
ObjectIdentifier
A global unique identifier that identifies an concept, such as a organisation, or encoding rules. The “owned” version of Oid.
OctetString
The OCTET STRING type.
Oid
A reference to a global unique identifier that identifies an concept, such as a organisation, or encoding rules.
PrintableString
A string, which contains the characters defined in X.680 41.4 Section, Table 10.
SetOf
The SET OF type - an unordered list of zero, one or more values of the component type.
Tag
An abstract representation of an ASN.1 tag that uniquely identifies a type within a ASN.1 module for codecs.
TeletexString
A string, which contains the characters defined in T.61 standard.
Utf8String
A UTF-8–encoded, growable string.
VisibleString
A string which contains a subset of the ISO 646 character set. Type should be constructed by using try_from or from methods.

Enums§

Class
The class of tag identifying its category.
Open
An “open” type representing any valid ASN.1 type.
TagTree
The root or node in tree representing all of potential tags in a ASN.1 type.

Traits§

AsnType
A trait representing any type that can represented in ASN.1.
Choice
A CHOICE value.
Constructed
A SET or SEQUENCE value. RL is the number of fields in the “root component list”. EL is the number of fields in the list of extensions.
DecodeChoice
A CHOICE value.
Enumerated
A ENUMERATED value.
IntegerType
Represents a integer type in Rust that can be decoded or encoded into any ASN.1 codec.
RealType
Represents a real type in Rust that can be decoded or encoded into any ASN.1 codec.

Type Aliases§

BitStr
A reference to a BIT STRING type.
BitString
The BIT STRING type. /// ## Usage ASN1 declaration such as …
Date
The Date type.
FixedBitString
A fixed length BIT STRING type.
GeneralizedTime
The GeneralizedTime type.
SequenceOf
The SEQUENCE OF type.
UniversalString
The UniversalString type.
UtcTime
The UTCTime type.

Derive Macros§

AsnType
An automatic derive of the AsnType trait.