JSignPdf is a free, open source application that adds digital signatures to PDF documents. It supports visible and hidden signatures, certificate levels, timestamping, and batch processing from the command line.
Features:
Version 3.1.0
Packaging-focused release: the fat jar is gone and every supported platform ships a native installer with its own bundled Java runtime. Also introduces a pluggable signing-engine architecture with a new EU DSS (PAdES) engine.
jpackage and a bundled Zulu+FX 21 runtime, so no system Java is required: Windows MSI, Linux DEB and RPM, and macOS DMG, each alongside a portable ZIP. Flatpak bundles are published for Linux x64 and aarch64.full ZIP carrying JavaFX natives for all platforms (with a Swing fallback when none match) and a minimal ZIP without JavaFX for headless/CLI signing and downstream packagers.bin/jsignpdf.sh and bin\jsignpdf.cmd launchers instead. The library jar published to Maven Central is unchanged.--list-engines and -eng / --engine options or the Engine selector in Preferences. JSignPdf ships OpenPDF as the default engine.dss) producing PAdES signatures at the ETSI baseline levels B, T, LT, and LTA, which the OpenPDF engine cannot create.hash.algorithm is untouched, and SHA-1 stays selectable for the OpenPDF engine.--overwrite flag to replace existing signatures; the legacy --append / -a flag is kept as a no-op._signed marker appended to the output file name can now be changed with the new output.suffix key in advanced.properties, so non-English users can localize it (e.g. _firmado). It feeds both GUIs and the default for the CLI -os / --out-suffix option.jsignpdf-<version>-SHA256SUMS.txt file now covers all published release assets.