#[non_exhaustive]pub enum ErrorKind {
Show 23 variants
DateTime,
Failed,
FileNotFound,
Incomplete {
expected_len: Length,
actual_len: Length,
},
Io(ErrorKind),
IndefiniteLength,
Length {
tag: Tag,
},
Noncanonical {
tag: Tag,
},
OidMalformed,
OidUnknown {
oid: ObjectIdentifier,
},
SetDuplicate,
SetOrdering,
Overflow,
Overlength,
PermissionDenied,
Reader,
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.
FileNotFound
File not found error.
Incomplete
Message is incomplete and does not contain all of the expected data.
Fields
Io(ErrorKind)
I/O errors.
IndefiniteLength
Indefinite length disallowed.
Length
Incorrect length for a given field.
Noncanonical
Message is not canonically encoded.
OidMalformed
OID is improperly encoded.
OidUnknown
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).
Fields
oid: ObjectIdentifier
OID value that was unrecognized by a parser for a DER-based format.
SetDuplicate
SET
cannot contain duplicates.
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.
PermissionDenied
Permission denied reading file.
Reader
Reader does not support the requested operation.
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
Unexpected tag.
Fields
TagUnknown
Unknown/unsupported tag.
TrailingData
Undecoded trailing data at end of message.
Fields
Utf8(Utf8Error)
UTF-8 errors.
Value
Unexpected value.
Implementations§
Trait Implementations§
source§impl PartialEq for ErrorKind
impl PartialEq for ErrorKind
impl Copy for ErrorKind
impl Eq for ErrorKind
impl StructuralPartialEq for ErrorKind
Auto Trait Implementations§
impl Freeze for ErrorKind
impl RefUnwindSafe for ErrorKind
impl Send for ErrorKind
impl Sync for ErrorKind
impl Unpin for ErrorKind
impl UnwindSafe for ErrorKind
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)