Nothing
pdf_signer engine v0.3.2, which closes a
multi-agent security review. Verification now judges the whole document:
verify_pdf_signature() returns the attributes document_intact, all_valid
and all_trusted; a PDF whose content was changed by an unsigned incremental
update after signing is no longer reported as valid overall (each signature
still reports valid over its own byte range). Document timestamps get their
own chain_trusted; timestamp authorities must carry the RFC 3161
id-kp-timeStamping purpose before their time is trusted; revocation dated at
or before the signing time is honoured even from later CRL/OCSP evidence;
certificate extensions are processed per RFC 5280 §6.1.3.is_timestamp and trusted_time.reason, name, location and contact_info with non-ASCII text
(e.g. "Aprovação") are now written as UTF-16 text strings and render
correctly in every viewer; the previous trailer's /Info (Title, Author) is
preserved; a second B-LT/B-LTA signature merges into the existing /DSS; the
claimed signing time is written to /M by default. Encrypted PDFs (even with
an empty user password) and documents certified with DocMDP P=1 are refused
with a clear error instead of producing a corrupted file.pdf_signer
declares rust-version = 1.81 and depends on p12-keystore 0.1.5 (0.2.x is
edition 2024 / rustc 1.85+, and 0.2.1 needs rustc 1.88 — the cause of the
0.2.5 installation failure on CRAN's check machine); time is 0.3.44,
ureq 3.2.1, getrandom 0.3.1 (its later WebAssembly-only dependencies are
2024 edition, and cargo 1.81 refuses to parse any vendored 2024-edition
manifest even for targets it never builds). The lockfile is resolved with
cargo's MSRV-aware resolver (CARGO_RESOLVER_INCOMPATIBLE_RUST_VERSIONS=fallback)
before vendoring, and the built tarball is installed offline with rustc 1.81.0
as part of the release checks.time/time-core/time-macros (pulled in via lopdf and
x509-parser/asn1-rs) had quietly raised their MSRV to rustc 1.88.0. We now
pin time = "=0.3.45" (MSRV 1.83.0) in src/rust/Cargo.lock before vendoring,
so the offline build only requires a rustc over two years old.pdf_signer is now consumed as a normal crates.io dependency
(default-features = false, features = ['https']) instead of a bundled,
hand-synced path copy; src/rust/vendor.tar.xz was re-vendored accordingly.
No user-facing behavior change.ring crate, by
exporting an explicit MACOSX_DEPLOYMENT_TARGET for the cargo build step
(tools/config.R / src/Makevars.in) so all objects share a deployment
target at or below R's link target.pdf_signer engine v0.2.0.cargo build --lib.pdfsig backend with a bundled pure-Rust engine
wrapped via extendr. No Java, OpenSSL, or external command-line tools required.sign_pdf() and verify_pdf_signature().Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.