#[cfg(any(feature = "openssl", feature = "nss"))]
pub mod composite_mldsa;
mod encryption;
mod errors;
#[cfg(any(feature = "openssl", feature = "nss"))]
pub mod generic_cms;
mod key_id;
mod private_key;
mod signature;
mod symmetric;
#[cfg(feature = "pkcs11-mgmt")]
pub mod token_manager;
pub(crate) mod utils;
#[cfg(any(feature = "openssl", feature = "nss"))]
pub use composite_mldsa::{composite_spec, CompHash, CompositeMlDsaSpec, TradAlg};
pub use encryption::{
CmsDecryptor, CmsEncryptor, Encryptor, EnvelopedDataDecryptor, KeyDecryptor, KeyEncryptor,
KeyWrapAlgorithm, NoCmsDecryptor, NoCrypto, NoEncryptor, NoEnvelopedDataDecryptor,
NoPkcs12Encryptor, Pkcs12Decryptor, Pkcs12Encryptor,
};
pub use errors::{
NoCryptoError, NoEncryptorError, NoEnvelopedDataDecryptorError, NoKeyIdHasherError,
NoSignatureVerifierError, NoSignerError, PrivateKeyError,
};
#[cfg(any(feature = "openssl", feature = "nss"))]
pub use generic_cms::{
default_create_enveloped_data, default_prepare_enveloped_data, DefaultCrypto,
DefaultCryptoError, DefaultEnvelopedDataDecryptor,
};
pub use key_id::{
default_key_id_hasher, ErasedKeyIdHasher, KeyIdHasher, KeyIdMethod, NoKeyIdHasher,
};
pub use private_key::{
BackendPrivateKey, BackendPublicKey, ErasedCertificateSigner, KeySpec, PrivateKey,
PrivateKeyBuilder, RsaPrivateComponents,
};
pub use signature::{
default_signature_verifier, CertificateSigner, ErasedSignatureVerifier, NoSignatureVerifier,
NoSigner, SignatureVerifier, UnsignedCertificateSigner,
};
pub use symmetric::{
constant_time_eq, hkdf_expand, hkdf_extract, hmac_output_len, BlockCipherProvider, DataHasher,
ErasedDataHasher, ErasedHmacProvider, ErasedStreamingHasher, ErasedStreamingHmacProvider,
HashState, HmacProvider, HmacState, NoSymmetricCrypto, Pbkdf2Provider, SecureRandom,
StreamingHasher, StreamingHmacProvider,
};
#[cfg(feature = "pkcs11-mgmt")]
pub use token_manager::{Pkcs11KeyInfo, SlotInfo, TokenManager};