Skip to main content

Error

Enum Error 

Source
pub enum Error {
    GenericError(Option<String>),
    ProtocolError,
    EOF,
    InaccessibleDecryptionKey(Vec<InaccessibleDecryptionKey>),
    NotDecryptionCapable(String),
    NotSigningCapable(String),
    InternalError(String),
    ExternalImportRequired(Option<String>),
    SecretKeyMaterialSealed(Option<String>),
    NoInlinePassword(Option<String>),
    NoExternalPassword(Option<String>),
    RpcError(Error),
}
Expand description

Errors returned from the keystore.

Variants§

§

GenericError(Option<String>)

A generic error occurred.

The other error variants aren’t appropriate for representing this error. The text describes what went wrong.

§

ProtocolError

An unspecified protocol error occurred.

§

EOF

An end of file condition was reached.

This is also used for iterations to indicate that there are no more items.

§

InaccessibleDecryptionKey(Vec<InaccessibleDecryptionKey>)

An operation couldn’t be completed, because a required key is inaccessible (unavailable, or locked).

This is returned by Keystore::decrypt. Repeat the operation after ensuring that one of the keys is available by prompting the user to connect it, or unlocking the key.

§

NotDecryptionCapable(String)

The key cannot be used for decryption.

§

NotSigningCapable(String)

The key cannot be used for signing.

§

InternalError(String)

An internal server error occurred.

§

ExternalImportRequired(Option<String>)

The backend doesn’t support importing keys using this interface.

Some backends require backend-specific information in order to import a key. For instance, when importing a key to a smartcard, the user needs to specify the smartcard, and the slot to use on the smartcard. Rather than try and model these parameters using this generic interface, backends should just have their own tools. The text should be a hint that is displayed to the user describing how to find the tool.

§

SecretKeyMaterialSealed(Option<String>)

The secret key material cannot be exported.

This error is returned by Key::export if the secret key material cannot be exported. Many backends do not allow exporting secret key material. Some may only allow exporting secret key material in admin mode. The text is a more detailed description of why this is not possible, or what the user could do to export the secret key material.

§

NoInlinePassword(Option<String>)

The key doesn’t support inline passwords.

Password entry is taken care of by the device managing the key. For instance, the password may be obtained using an external PIN pad.

§

NoExternalPassword(Option<String>)

The key doesn’t support getting passwords.

The password must be provided inline. The password cannot be obtained using something like an external PIN pad.

§

RpcError(Error)

A capnp::Error occurred.

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, __formatter: &mut Formatter<'_>) -> Result

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

impl Error for Error

Source§

fn source(&self) -> Option<&(dyn Error + '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<Error> for Error

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<NotInSchema> for Error

Source§

fn from(_: NotInSchema) -> 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.