Skip to content

[stable35] feat: update JSignPdf to 3.1.0 with jsignpdf-php 3.0.0 - #8260

Merged
vitormattos merged 8 commits into
stable35from
backport/8256/stable35
Sep 5, 2026
Merged

[stable35] feat: update JSignPdf to 3.1.0 with jsignpdf-php 3.0.0#8260
vitormattos merged 8 commits into
stable35from
backport/8256/stable35

Conversation

@backportbot-libresign

Copy link
Copy Markdown

Backport of PR #8256

maia-andre and others added 8 commits September 5, 2026 22:25
Points the submodule at LibreSign/3rdparty#96, which bumps
jsignpdf/jsignpdf-php from 1.3.1 to 3.0.0 for JSignPdf 3.1.0. The pointer
will move to the merge commit once that pull request lands.

Signed-off-by: André Maia <andrefnkmm@gmail.com>
Assisted-by: Claude Code:claude-fable-5-1
JSignPdf 3.1 dropped the single JSignPdf.jar. The minimal package, meant
for headless use, ships a lib/ directory that the wrapper starts through
the classpath, so the configured path becomes the extracted directory,
stored in the new jsignpdf_path key. The legacy jsignpdf_jar_path key is
removed on install and on uninstall, and the archive is verified against
the SHA256SUMS file published with the release instead of a hard-coded
md5. The release metadata lives in JSignPdfRelease so it can be unit
tested; SignSetupService and the setup check read the new key.

Signed-off-by: André Maia <andrefnkmm@gmail.com>
Assisted-by: Claude Code:claude-fable-5-1
…wrapper

jsignpdf-php 3 escapes every argument itself and takes the options as a
list, so the handler stops building shell syntax: the parameters are
arrays, one cloned JSignParam per visible element, the signature text is
passed as is instead of quoted, the JVM option and the JSIGNPDF_HOME
variable go through their own setters, and the TSA password goes through
setTsaPassword(), which the wrapper writes to the stdin of JSignPdf
instead of the command line. The wrapper also renamed the jar path to a
directory path and reports failures through the exit code.

The tests assert the parameters that reach the wrapper, captured from
setParam(), with structured providers, a case with shell special
characters in the signature text and a TSA provider that checks the
password never reaches the command line.

Signed-off-by: André Maia <andrefnkmm@gmail.com>
Assisted-by: Claude Code:claude-fable-5-1
…ertificate

generateRootCert() resolves the CRL distribution point from the CA
identifier. Without one the certificate generation failed and 68 tests
of this class were skipped as "Certificate initialization failed".

Signed-off-by: André Maia <andrefnkmm@gmail.com>
Assisted-by: Claude Code:claude-fable-5-1
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@github-project-automation github-project-automation Bot moved this to 0. Backlog in Roadmap Sep 5, 2026
@backportbot-libresign backportbot-libresign Bot added this to the Next Major (35) milestone Sep 5, 2026
@vitormattos
vitormattos merged commit f9ad694 into stable35 Sep 5, 2026
65 checks passed
@vitormattos
vitormattos deleted the backport/8256/stable35 branch September 5, 2026 23:28
@github-project-automation github-project-automation Bot moved this from 0. Backlog to 4. to release in Roadmap Sep 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 4. to release

Development

Successfully merging this pull request may close these issues.

2 participants