#[non_exhaustive]pub enum BackendError {
Show 21 variants
AuthRequired,
PinRequired,
PinFailed(u32),
PinBlocked,
UserPinNotInitialized,
ManagementKeyRequired,
KeyNotFound(String),
ObjectNotFound(String),
SlotEmpty(String),
CapacityExceeded,
OperationNotPermitted(String),
AttributeReadOnly(String),
UnsupportedAlgorithm(String),
UnsupportedOperation(String),
TokenNotPresent,
HardwareFailure(String),
InvalidKeyFormat(String),
InvalidData(String),
NotFound(String),
Configuration(String),
Other(String),
}Expand description
Backend-specific errors.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
AuthRequired
Authentication required (not logged in).
PinRequired
PIN required to access backend.
PinFailed(u32)
PIN verification failed (wrong PIN). Contains remaining retries if known.
PinBlocked
PIN is blocked (too many failed attempts).
UserPinNotInitialized
User PIN not initialized (PKCS#11: C_InitPIN not yet called).
ManagementKeyRequired
Management key authentication required.
KeyNotFound(String)
Key not found in backend storage.
ObjectNotFound(String)
Object not found (PKCS#11: find_objects returned empty).
SlotEmpty(String)
PIV slot is empty (no key or certificate).
CapacityExceeded
Backend storage capacity exceeded.
OperationNotPermitted(String)
Operation not permitted (key usage flags don’t allow this).
AttributeReadOnly(String)
Attribute is read-only (e.g., tried to set CKA_ALWAYS_SENSITIVE).
UnsupportedAlgorithm(String)
Algorithm not supported by this backend.
UnsupportedOperation(String)
Operation not supported by this backend.
TokenNotPresent
Token not present in slot.
HardwareFailure(String)
Hardware failure (device disconnected, I/O error, etc.).
InvalidKeyFormat(String)
Invalid key format or data.
InvalidData(String)
Invalid data (malformed input, unexpected encoding, etc.).
NotFound(String)
Backend not found in registry.
Configuration(String)
Configuration error (missing or invalid settings).
Other(String)
Generic backend error.
Implementations§
Source§impl BackendError
impl BackendError
Sourcepub fn retriability(&self) -> Retriability
pub fn retriability(&self) -> Retriability
Classify whether a step that failed with this error may be retried.
The match is exhaustive with no wildcard arm on purpose: adding a new
BackendError variant fails to compile until it is deliberately
classified here.
Trait Implementations§
Source§impl Debug for BackendError
impl Debug for BackendError
Source§impl Display for BackendError
impl Display for BackendError
Source§impl Error for BackendError
impl Error for BackendError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()