Enum der::ErrorKind[][src]

#[non_exhaustive]
pub enum ErrorKind {
Show 15 variants DuplicateField { tag: Tag, }, Failed, Length { tag: Tag, }, Noncanonical { tag: Tag, }, MalformedOid, Overflow, Overlength, TrailingData { decoded: Length, remaining: Length, }, Truncated, Underlength { expected: Length, actual: Length, }, UnexpectedTag { expected: Option<Tag>, actual: Tag, }, UnknownOid { oid: ObjectIdentifier, }, UnknownTag { byte: u8, }, Utf8(Utf8Error), Value { tag: Tag, },
}
Expand description

Error type.

Variants (Non-exhaustive)

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
DuplicateField

Indicates a field which is duplicated when only one is expected.

Fields of DuplicateField

tag: Tag

Tag of the duplicated field.

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.

Length

Incorrect length for a given field.

Fields of Length

tag: Tag

Tag of the value being decoded.

Noncanonical

Message is not canonically encoded.

Fields of Noncanonical

tag: Tag

Tag of the value which is not canonically encoded.

MalformedOid

Malformed OID

Overflow

Integer overflow occurred (library bug!).

Overlength

Message is longer than this library’s internal limits support.

TrailingData

Undecoded trailing data at end of message.

Fields of TrailingData

decoded: Length

Length of the decoded data.

remaining: Length

Total length of the remaining data left in the buffer.

Truncated

Unexpected end-of-message/nested field when decoding.

Underlength

Encoded message is shorter than the expected length.

(i.e. an Encodable impl on a particular type has a buggy encoded_len)

Fields of Underlength

expected: Length

Expected length

actual: Length

Actual length

UnexpectedTag

Unexpected tag.

Fields of UnexpectedTag

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: Tag

Actual tag encountered in the message.

UnknownOid
This is supported on crate feature oid only.

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 of UnknownOid

oid: ObjectIdentifier

OID value that was unrecognized by a parser for a DER-based format.

UnknownTag

Unknown/unsupported tag.

Fields of UnknownTag

byte: u8

Raw byte value of the tag.

Utf8

UTF-8 errors.

Tuple Fields of Utf8

0: Utf8Error
Value

Unexpected value.

Fields of Value

tag: Tag

Tag of the unexpected value.

Implementations

Annotate an ErrorKind with context about where it occurred, returning an error.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The lower-level source of this error, if any. Read more

🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

👎 Deprecated since 1.42.0:

use the Display impl or to_string()

👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Performs the conversion.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.