Enum Error

Source
pub enum Error {
Show 13 variants Io(Error), Protobuf(EncodeError), ProtobufDecode(DecodeError), Rsa(Error), Pkcs8(Error), Spki(Error), InvalidFormat(String), SignatureVerification, MultipleSignatures, NoSignature, EcdsaNotSupported, NoSignedHeader, NoCrxId,
}
Expand description

Error types for CRX3 operations.

This enum represents all possible errors that can occur when working with Chrome Extension (CRX3) files, including both internal errors and errors from external dependencies.

Variants§

§

Io(Error)

I/O error from the standard library.

Occurs during file operations like reading, writing, or seeking.

§

Protobuf(EncodeError)

Error during protobuf message encoding.

Occurs when the library attempts to encode a protobuf message (e.g., during CRX file creation).

§

ProtobufDecode(DecodeError)

Error during protobuf message decoding.

Occurs when the library attempts to decode a protobuf message (e.g., when reading a CRX header).

§

Rsa(Error)

Error during RSA cryptographic operations.

Wraps the underlying RSA library’s error and preserves error context. May occur during signing or verification operations.

§

Pkcs8(Error)

Error related to PKCS#8 encoding or decoding.

Occurs when handling PKCS#8 formatted keys.

§

Spki(Error)

Error related to SubjectPublicKeyInfo (SPKI) operations.

Occurs when working with public key data in SPKI format.

§

InvalidFormat(String)

Invalid CRX file format.

Occurs when a file doesn’t conform to the CRX3 format specification. The string provides details about the specific format violation.

§

SignatureVerification

Signature verification failed.

Occurs when the CRX file signature doesn’t match the expected value.

§

MultipleSignatures

Multiple RSA signatures are not supported.

Occurs when a CRX file contains more than one RSA signature.

§

NoSignature

No RSA signature found.

Occurs when attempting to verify a CRX file that doesn’t contain any RSA signatures.

§

EcdsaNotSupported

ECDSA signatures are not supported by this library.

Occurs when a CRX file contains ECDSA signatures, which this library doesn’t currently support.

§

NoSignedHeader

No signed header data found.

Occurs when a CRX file lacks the required signed header data.

§

NoCrxId

No CRX ID found.

Occurs when attempting to extract an extension ID from a CRX file that doesn’t contain one.

Trait Implementations§

Source§

impl Debug for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Error

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn StdError + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<DecodeError> for Error

Source§

fn from(err: DecodeError) -> Self

Converts to this type from the input type.
Source§

impl From<EncodeError> for Error

Source§

fn from(err: EncodeError) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for Error

Source§

fn from(err: Error) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl Freeze for Error

§

impl !RefUnwindSafe for Error

§

impl Send for Error

§

impl Sync for Error

§

impl Unpin for Error

§

impl !UnwindSafe for Error

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V