quantum_sign/
lib.rs

1#![forbid(unsafe_code)]
2//! Quantum‑Sign unified crate (lib + CLI).
3//!
4//! Exposes internal modules for cryptography, format, and policy, and
5//! includes the `quantum-sign` CLI as a binary target.
6#![doc = include_str!("../docs/CLI.md")]
7
8pub mod crypto;
9pub mod drbg;
10pub mod format;
11pub mod policy;
12pub mod transparency;
13pub mod tsp;
14pub mod verify;
15
16/// Commonly used types and functions.
17pub mod prelude {
18    // Re-export a curated set to avoid ambiguous glob exports.
19    pub use crate::crypto::{
20        keypair_mldsa87, kid_from_public_key, kid_from_spki_der, public_key_to_spki, sign_mldsa87,
21        spki_der_canonical, spki_mldsa_paramset, spki_subject_key_bytes, verify_mldsa87,
22        verify_mldsa87_spki, CryptoError, DigestAlg, DrbgError, HmacSha512Drbg, Keypair,
23    };
24    pub use crate::format::{Error as FormatError, QSig, Signer, Transparency};
25    pub use crate::policy::{
26        canonical_hash, load_policy_file, load_policy_str, Error as PolicyError,
27        Format as PolicyFormat, Policy, RequiredSignatures, ValidationError,
28    };
29    pub use crate::verify::*;
30}