Skip to content

[stable33] feat: update JSignPdf to 3.1.0 with jsignpdf-php 3.0.0 - #8258

Merged
vitormattos merged 13 commits into
stable33from
backport/8256/stable33
Sep 5, 2026
Merged

[stable33] feat: update JSignPdf to 3.1.0 with jsignpdf-php 3.0.0#8258
vitormattos merged 13 commits into
stable33from
backport/8256/stable33

Conversation

@backportbot-libresign

@backportbot-libresign backportbot-libresign Bot commented Sep 5, 2026

Copy link
Copy Markdown

Backport of #8256

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Amend HEAD commit to remove the line stating to skip CI

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

maia-andre and others added 7 commits September 5, 2026 22:24
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>
fix: update PDF signature validation return type

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>

[skip ci]
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>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos marked this pull request as ready for review September 5, 2026 23:27
@vitormattos
vitormattos merged commit c664950 into stable33 Sep 5, 2026
66 of 67 checks passed
@vitormattos
vitormattos deleted the backport/8256/stable33 branch September 5, 2026 23:27
@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