Enum sequoia_keystore_backend::Error
source · #[non_exhaustive]pub enum Error {
InvalidArgument(String),
NotFound(String),
OperationNotSupported(String),
Locked(String),
Unavailable(String),
Unregistered(String),
Unconfigured(String),
AlreadyUnlocked(String),
ExternalImportRequired(Option<String>),
NoInlinePassword(Option<String>),
NoExternalPassword(Option<String>),
}
Expand description
Errors used in this crate.
Note: This enum cannot be exhaustively matched to allow for future extensions.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
InvalidArgument(String)
Invalid argument.
NotFound(String)
Not found.
OperationNotSupported(String)
Operation not supported.
Locked(String)
The device or key is locked.
A device is locked when a pin, password, or some other interaction is needed to unlock the device.
When this error is received, the caller should prompt the user for the password, unlock the object, and then retry the operation.
The device or key is not available.
When this error is received, the caller may prompt the user to insert the device, and then retry the operation.
Unregistered(String)
The device is not registered.
Unconfigured(String)
The device is not configured.
The device may contain keys, but it first needs to be configured before it can be used.
AlreadyUnlocked(String)
The device or key is already unlocked.
Returned by DeviceHandle::unlock
and KeyHandle::unlock
if a device or key is already unlocked or doesn’t need to be
unlocked.
ExternalImportRequired(Option<String>)
The backend doesn’t support importing keys using this interface.
This error is returned by Backend::import
if the backend
requires backend-specific information in order to import a
key, which is not provided via this interface. 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.
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.