pub enum KeeperCryptoError {
Decryption,
InvalidKey,
MissingPrivateKey,
InvalidData,
CorruptEncryptionParams,
UnsupportedKeyType,
}Expand description
Errors produced by the Keeper crypto layer.
Messages are intentionally coarse and never include key material, plaintext or ciphertext, so an error can be surfaced to a client or logged without leaking secrets.
Variants§
Decryption
Decryption or authentication failed (bad key, tampered ciphertext, or invalid padding).
InvalidKey
A key could not be parsed or has the wrong size.
MissingPrivateKey
A private key required to decrypt the given record key type was not supplied. Currently unreachable (RSA and ECC record-key decryption not yet supported); will be used when ECC record-key support is added.
InvalidData
The input was malformed (too short, wrong length, or not a valid encoding).
CorruptEncryptionParams
A Keeper encryptionParams blob was corrupted or failed its integrity check.
UnsupportedKeyType
The record key type is not supported for decryption.
Trait Implementations§
Source§impl Debug for KeeperCryptoError
impl Debug for KeeperCryptoError
Source§impl Display for KeeperCryptoError
impl Display for KeeperCryptoError
Source§impl Error for KeeperCryptoError
impl Error for KeeperCryptoError
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()
Source§impl From<KeeperCryptoError> for ImportError
impl From<KeeperCryptoError> for ImportError
Source§fn from(source: KeeperCryptoError) -> Self
fn from(source: KeeperCryptoError) -> Self
Auto Trait Implementations§
impl Freeze for KeeperCryptoError
impl RefUnwindSafe for KeeperCryptoError
impl Send for KeeperCryptoError
impl Sync for KeeperCryptoError
impl Unpin for KeeperCryptoError
impl UnsafeUnpin for KeeperCryptoError
impl UnwindSafe for KeeperCryptoError
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
§impl<T> CompatExt for T
impl<T> CompatExt for T
§impl<T, UT> HandleAlloc<UT> for T
impl<T, UT> HandleAlloc<UT> for T
§fn new_handle(value: Arc<T>) -> Handle
fn new_handle(value: Arc<T>) -> Handle
§unsafe fn clone_handle(handle: Handle) -> Handle
unsafe fn clone_handle(handle: Handle) -> Handle
§unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
unsafe fn consume_handle(handle: Handle) -> Arc<T> ⓘ
Arc<> Read more§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more