#[non_exhaustive]
pub enum ErrorKind {
Show 17 variants
DateTime,
Failed,
Incomplete {
expected_len: Length,
actual_len: Length,
},
Length {
tag: Tag,
},
Noncanonical {
tag: Tag,
},
OidMalformed,
OidUnknown {
oid: ObjectIdentifier,
},
SetOrdering,
Overflow,
Overlength,
TagModeUnknown,
TagNumberInvalid,
TagUnexpected {
expected: Option<Tag>,
actual: Tag,
},
TagUnknown {
byte: u8,
},
TrailingData {
decoded: Length,
remaining: Length,
},
Utf8(Utf8Error),
Value {
tag: Tag,
},
}Expand description
Error type.
Variants (Non-exhaustive)
This enum is marked as non-exhaustive
DateTime
Date-and-time related errors.
Failed
This error indicates a previous DER parsing operation resulted in
an error and tainted the state of a Decoder or Encoder.
Once this occurs, the overall operation has failed and cannot be subsequently resumed.
Incomplete
Fields
expected_len: LengthExpected message length.
Note that this length represents a minimum lower bound on how much additional data is needed to continue parsing the message.
It’s possible upon subsequent message parsing that the parser will discover even more data is needed.
actual_len: LengthActual length of the message buffer currently being processed.
Message is incomplete and does not contain all of the expected data.
Length
Fields
tag: TagTag of the value being decoded.
Incorrect length for a given field.
Noncanonical
Fields
tag: TagTag of the value which is not canonically encoded.
Message is not canonically encoded.
OidMalformed
OID is improperly encoded.
OidUnknown
Fields
oid: ObjectIdentifierOID value that was unrecognized by a parser for a DER-based format.
Unknown OID.
This error is intended to be used by libraries which parse DER-based formats which encounter unknown or unsupported OID libraries.
It enables passing back the OID value to the caller, which allows them to determine which OID(s) are causing the error (and then potentially contribute upstream support for algorithms they care about).
SetOrdering
SET ordering error: items not in canonical order.
Overflow
Integer overflow occurred (library bug!).
Overlength
Message is longer than this library’s internal limits support.
TagModeUnknown
Unknown tag mode.
TagNumberInvalid
Invalid tag number.
The “tag number” is the lower 5-bits of a tag’s octet.
This error occurs in the case that all 5-bits are set to 1,
which indicates a multi-byte tag which is unsupported by this library.
TagUnexpected
Fields
expected: Option<Tag>Tag the decoder was expecting (if there is a single such tag).
None if multiple tags are expected/allowed, but the actual tag
does not match any of them.
actual: TagActual tag encountered in the message.
Unexpected tag.
TagUnknown
Fields
byte: u8Raw byte value of the tag.
Unknown/unsupported tag.
TrailingData
Fields
decoded: LengthLength of the decoded data.
remaining: LengthTotal length of the remaining data left in the buffer.
Undecoded trailing data at end of message.
Utf8(Utf8Error)
UTF-8 errors.
Value
Fields
tag: TagTag of the unexpected value.
Unexpected value.
Implementations
Trait Implementations
impl Copy for ErrorKind
impl Eq for ErrorKind
impl StructuralEq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more