pub enum CryptoError {
Show 14 variants
UnknownAlgorithm(String),
InvalidHashFormat(String),
InvalidSignatureFormat(String),
SignatureVerificationFailed,
InvalidPublicKey(String),
InvalidSecretKey(String),
MissingSecretKey,
Base64DecodeError(String),
InvalidDataLength {
expected: usize,
actual: usize,
},
SerializationError(String),
HashError(String),
SigningError(String),
UnsupportedAlgorithm(String),
InvalidDerFormat(String),
}Expand description
Errors that can occur during cryptographic operations
Variants§
UnknownAlgorithm(String)
Returned when an unrecognized algorithm identifier is encountered.
This typically occurs when parsing Base64-encoded data with an unknown algorithm prefix (e.g., not ‘B’ for Blake3 or ‘E’ for Ed25519).
InvalidHashFormat(String)
Returned when hash data is malformed or has incorrect structure.
Common causes:
- Missing algorithm identifier
- Incorrect data length for the algorithm
- Corrupted Base64 encoding
InvalidSignatureFormat(String)
Returned when signature data is malformed or has incorrect structure.
Common causes:
- Missing algorithm identifier
- Incorrect signature length for the algorithm
- Corrupted Base64 encoding
SignatureVerificationFailed
Returned when cryptographic signature verification fails.
This indicates that either:
- The signature was not created by the claimed signer
- The signed data has been modified
- The signature is invalid or corrupted
InvalidPublicKey(String)
Returned when a public key is invalid or malformed.
Common causes:
- Incorrect key length
- Invalid key format for the algorithm
- Corrupted key data
InvalidSecretKey(String)
Returned when a secret key is invalid or malformed.
Common causes:
- Incorrect key length
- Invalid key format
- Decryption failure from secure storage
MissingSecretKey
Returned when attempting signing operations on a verification-only instance.
This occurs when a signer is created from a public key only (using
from_public_key()) and then used to sign data. Such instances can
only verify signatures, not create them.
Base64DecodeError(String)
Returned when Base64 decoding fails.
InvalidDataLength
Returned when data has an unexpected length.
This is a validation error that occurs when the actual data size doesn’t match the expected size for a specific algorithm or operation.
SerializationError(String)
Returned when Borsh serialization/deserialization fails.
HashError(String)
Returned when hash computation or verification fails.
SigningError(String)
Returned when a signing operation fails.
UnsupportedAlgorithm(String)
Returned when an algorithm is not supported by this implementation.
This occurs when attempting to use a cryptographic algorithm that is recognized but not implemented in the current version.
InvalidDerFormat(String)
Returned when PKCS#8 DER parsing fails.
Trait Implementations§
Source§impl Clone for CryptoError
impl Clone for CryptoError
Source§fn clone(&self) -> CryptoError
fn clone(&self) -> CryptoError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more