#[non_exhaustive]
pub enum Tag {
Show 20 variants
Boolean,
Integer,
BitString,
OctetString,
Null,
ObjectIdentifier,
Enumerated,
Utf8String,
Sequence,
Set,
NumericString,
PrintableString,
Ia5String,
UtcTime,
GeneralizedTime,
VisibleString,
BmpString,
Application {
constructed: bool,
number: TagNumber,
},
ContextSpecific {
constructed: bool,
number: TagNumber,
},
Private {
constructed: bool,
number: TagNumber,
},
}
Expand description
ASN.1 tags.
Tags are the leading identifier octet of the Tag-Length-Value encoding used by ASN.1 DER and identify the type of the subsequent value.
They are described in X.690 Section 8.1.2: Identifier octets, and structured as follows:
| Class | P/C | Tag Number |
- Bits 8/7:
Class
- Bit 6: primitive (0) or constructed (1)
- Bits 5-1: tag number
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
Boolean
BOOLEAN
tag: 1
.
Integer
INTEGER
tag: 2
.
BitString
BIT STRING
tag: 3
.
OctetString
OCTET STRING
tag: 4
.
Null
NULL
tag: 5
.
ObjectIdentifier
OBJECT IDENTIFIER
tag: 6
.
Enumerated
ENUMERATED
tag: 10
.
Utf8String
UTF8String
tag: 12
.
Sequence
SEQUENCE
tag: 16
.
Set
SET
and SET OF
tag: 17
.
NumericString
NumericString
tag: 18
.
PrintableString
PrintableString
tag: 19
.
Ia5String
IA5String
tag: 22
.
UtcTime
UTCTime
tag: 23
.
GeneralizedTime
GeneralizedTime
tag: 24
.
VisibleString
VisibleString
tag: 26
.
BmpString
BMPString
tag: 30
.
Application
Application tag.
ContextSpecific
Context-specific tag.
Private
Private tag number.
Implementations
Assert that this Tag
matches the provided expected tag.
On mismatch, returns an Error
with ErrorKind::TagUnexpected
.
Does this tag represent a constructed (as opposed to primitive) field?
Is this an application tag?
Is this a context-specific tag?
Is this a private tag?
Is this a universal tag?
Create an Error
for an non-canonical value with the ASN.1 type
identified by this tag.
Create an Error
because the current tag was unexpected, with an
optional expected tag.
Create an Error
for an invalid value with the ASN.1 type identified
by this tag.
Trait Implementations
Compute the length of this value in bytes when encoded as ASN.1 DER.
Encode this value as ASN.1 DER using the provided Encoder
.
Encode this value to the provided byte slice, returning a sub-slice containing the encoded message. Read more
alloc
only.Encode this message as ASN.1 DER, appending it to the provided byte vector. Read more
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Auto Trait Implementations
impl RefUnwindSafe for Tag
impl UnwindSafe for Tag
Blanket Implementations
Mutably borrows from an owned value. Read more