underskrift 0.1.0

PDF digital signing library — PAdES B-B through B-LTA, PKCS#7, visible/invisible signatures, LTV, and verification
Documentation

Underskrift

Production-grade PDF digital signing library for Rust.

Supports PAdES Baseline profiles (B-B through B-LTA), traditional PKCS#7 signatures, visible and invisible signatures, multiple signatures, certification signatures, long-term validation (LTV), and verification.

Quick Start

use underskrift::{PdfSigner, SigningOptions, SoftwareSigner};

# async fn example() -> Result<(), underskrift::PdfSignError> {
let pdf_bytes = std::fs::read("document.pdf")?;
let signer = SoftwareSigner::from_pkcs12_file("identity.p12", "password")?;

let signed_pdf = PdfSigner::new()
    .options(SigningOptions::default())
    .sign(&pdf_bytes, &signer)
    .await?;

std::fs::write("signed.pdf", signed_pdf)?;
# Ok(())
# }