#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum TrustError {
#[error("certificate generation failed: {reason}")]
CertificateGeneration {
reason: String,
},
#[error("certificate parsing failed: {reason}")]
CertificateParsing {
reason: String,
},
#[error("certificate verification failed: {reason}")]
CertificateVerification {
reason: String,
},
#[error("certificate revocation failed: {reason}")]
CertificateRevocation {
reason: String,
},
#[error("merkle tree operation failed: {reason}")]
MerkleTree {
reason: String,
},
#[error("seal failed: {reason}")]
Seal {
reason: String,
},
#[error("unseal failed")]
UnsealFailed,
#[error("attestation verification failed")]
AttestationFailed,
#[error("key management failed: {reason}")]
KeyManagement {
reason: String,
},
#[error("signing failed: {reason}")]
Signing {
reason: String,
},
#[error("invalid signature")]
InvalidSignature,
#[error("checkpoint encoding failed: {reason}")]
CheckpointEncoding {
reason: String,
},
#[error("checkpoint parsing failed: {reason}")]
CheckpointParsing {
reason: String,
},
#[error("invalid note verifier key: {reason}")]
VerifierKey {
reason: String,
},
#[error("note verification failed")]
NoteVerification,
#[error("log artifact encoding failed: {reason}")]
LogArtifactEncoding {
reason: String,
},
#[error("log artifact verification failed")]
LogArtifactVerification,
#[error("receipt verification failed")]
ReceiptVerification,
#[error("delegation verification failed")]
DelegationVerification,
#[error("delegation encoding failed: {reason}")]
DelegationEncoding {
reason: String,
},
#[error("bundle verification failed")]
BundleVerification,
}
pub type TrustResult<T> = std::result::Result<T, TrustError>;
#[cfg(test)]
#[path = "error_tests.rs"]
mod tests;