#![allow(clippy::doc_markdown)]
mod access_control;
mod annotations;
mod certificate;
#[cfg(feature = "eddsa")]
mod eddsa;
#[cfg(feature = "encryption")]
mod encryption;
#[cfg(feature = "signatures-es384")]
mod es384;
#[cfg(feature = "ml-dsa")]
mod ml_dsa;
#[cfg(feature = "ocsp")]
mod revocation;
#[cfg(feature = "signatures-rsa")]
mod rsa_pss;
mod signature;
mod signer;
#[cfg(test)]
mod test_helpers;
#[cfg(feature = "webauthn")]
mod webauthn;
pub use access_control::{AccessControl, Operation, PermissionGrant, Permissions, Principal};
pub use annotations::{Annotation, AnnotationType, AnnotationsFile};
pub use certificate::{eku, CertificateChain, CertificateInfo, CertificateValidation, KeyUsage};
pub use signature::{
Signature, SignatureAlgorithm, SignatureFile, SignatureScope, SignatureVerification,
SignerInfo, TrustedTimestamp, WebAuthnSignature,
};
pub use signer::{EcdsaSigner, EcdsaVerifier, Signer, Verifier};
#[cfg(feature = "eddsa")]
pub use eddsa::{EddsaSigner, EddsaVerifier};
#[cfg(feature = "signatures-es384")]
#[cfg_attr(docsrs, doc(cfg(feature = "signatures-es384")))]
pub use es384::{Es384Signer, Es384Verifier};
#[cfg(feature = "signatures-rsa")]
#[cfg_attr(docsrs, doc(cfg(feature = "signatures-rsa")))]
pub use rsa_pss::{Ps256Signer, Ps256Verifier};
#[cfg(feature = "ml-dsa")]
#[cfg_attr(docsrs, doc(cfg(feature = "ml-dsa")))]
pub use ml_dsa::{MlDsaSigner, MlDsaVerifier};
#[cfg(feature = "encryption")]
pub use encryption::{
Aes256GcmEncryptor, EncryptedData, EncryptionAlgorithm, EncryptionMetadata, KdfAlgorithm,
KeyDerivation, KeyManagementAlgorithm, Recipient,
};
#[cfg(feature = "encryption-chacha")]
#[cfg_attr(docsrs, doc(cfg(feature = "encryption-chacha")))]
pub use encryption::ChaCha20Poly1305Encryptor;
#[cfg(feature = "key-wrapping")]
#[cfg_attr(docsrs, doc(cfg(feature = "key-wrapping")))]
pub use encryption::{EcdhEsKeyUnwrapper, EcdhEsKeyWrapper, WrappedKeyData};
#[cfg(feature = "key-wrapping-rsa")]
#[cfg_attr(docsrs, doc(cfg(feature = "key-wrapping-rsa")))]
pub use encryption::{RsaOaepKeyUnwrapper, RsaOaepKeyWrapper, RsaWrappedKeyData};
#[cfg(feature = "key-wrapping-pbes2")]
#[cfg_attr(docsrs, doc(cfg(feature = "key-wrapping-pbes2")))]
pub use encryption::{Pbes2KeyUnwrapper, Pbes2KeyWrapper, Pbes2WrappedKeyData};
#[cfg(feature = "ocsp")]
#[cfg_attr(docsrs, doc(cfg(feature = "ocsp")))]
pub use revocation::{
RevocationChecker, RevocationConfig, RevocationMethod, RevocationReason, RevocationResult,
RevocationStatus,
};
#[cfg(feature = "webauthn")]
#[cfg_attr(docsrs, doc(cfg(feature = "webauthn")))]
pub use webauthn::WebAuthnVerifier;