use thiserror::Error;
#[derive(Debug, Error, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum PemError {
#[error("pem: input too large")]
InputTooLarge,
#[error("pem: der body too large")]
DerTooLarge,
#[error("pem: missing begin boundary")]
MissingBegin,
#[error("pem: missing end boundary")]
MissingEnd,
#[error("pem: label mismatch")]
LabelMismatch,
#[error("pem: unsupported label")]
UnsupportedLabel,
#[error("pem: invalid boundary")]
InvalidBoundary,
#[error("pem: invalid base64")]
InvalidBase64,
#[error("pem: invalid body")]
InvalidBody,
#[error("pem: invalid options")]
InvalidOptions,
#[error("pem: empty input")]
EmptyInput,
#[error("pem: empty der body")]
EmptyDer,
}