Skip to main content

xml_sec/
lib.rs

1//! # xml-sec — Pure Rust XML Security
2//!
3//! Drop-in replacement for libxmlsec1. XMLDSig, XMLEnc, C14N — no C dependencies.
4//!
5//! ## Features
6//!
7//! - **C14N** — XML Canonicalization (inclusive + exclusive)
8//! - **XMLDSig** — XML Digital Signatures (sign + verify)
9//! - **XMLEnc** — XML Encryption (encrypt + decrypt)
10//! - **X.509** — Certificate-based key extraction
11//!
12//! ## Quick Start
13//!
14//! ```rust,no_run
15//! use xml_sec::{XmlSigner, XmlVerifier};
16//!
17//! // Verify a signed XML document
18//! let doc = std::fs::read_to_string("signed.xml").unwrap();
19//! let cert = std::fs::read("cert.pem").unwrap();
20//! let valid = XmlVerifier::new(&cert).verify(&doc).unwrap();
21//! ```
22
23#![deny(unsafe_code)]
24#![deny(clippy::unwrap_used)]
25#![warn(missing_docs)]
26
27pub mod c14n;
28pub mod error;
29
30#[cfg(feature = "xmldsig")]
31pub mod xmldsig;
32
33#[cfg(feature = "xmlenc")]
34pub mod xmlenc;
35
36pub use error::XmlSecError;