pub mod boxed;
pub mod curves;
pub mod ecdh;
pub mod ecdsa;
pub mod ed25519;
mod p256;
#[cfg(feature = "x509")]
pub(crate) mod registry;
mod weierstrass;
pub mod x25519;
pub use boxed::{
BoxedEcdhPrivateKey, BoxedEcdsaPrivateKey, BoxedEcdsaPublicKey, BoxedEcdsaSignature,
};
pub use curves::CurveId;
pub use ed25519::{Ed25519PrivateKey, Ed25519PublicKey, Ed25519Signature};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
#[non_exhaustive]
pub enum Error {
InvalidInput,
Verification,
Malformed,
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Error::InvalidInput => f.write_str("invalid elliptic-curve input"),
Error::Verification => f.write_str("ECDSA signature verification failed"),
Error::Malformed => f.write_str("malformed elliptic-curve encoding"),
}
}
}
impl core::error::Error for Error {}