Tentang SahPDF
Satu inti Rust, dua target: aplikasi di peramban Anda dan API di edge.
Arsitektur
pdfsign-core
Parser PDF (xref tabel & stream, object stream), CMS/PKCS#7, X.509, PKCS#12 (PBES1/PBES2), penandatanganan bertahap, verifikasi. Tanpa dependensi besar, tanpa binding C.
pdfsign-wasm
Permukaan wasm-bindgen untuk browser: buat identitas, impor kredensial, tanda tangan, verifikasi, operasi halaman.
pdfsign-edge
Build wasm32 tanpa bindgen dengan ABI JSON kecil, dijalankan langsung oleh Cloudflare Worker untuk /api/verify.
web + worker
React 18 + Vite + Tailwind di atas inti Rust; Worker menyajikan aset statis dan API dari bundel yang sama.
Standar yang diikuti
- ISO 32000-1 §12.8 — signature dictionary, ByteRange, AcroForm, DocMDP.
- RFC 5652 (CMS) — SignedData, atribut message-digest & signing-time.
- ETSI EN 319 122 — profil PAdES B-B (
ETSI.CAdES.detached) bersama LibreOffice dan Acrobat. - RFC 5280 — sertifikat X.509 v3 dan ekstensi key usage.