ATick for Java#
Sign PDFs with confidence
ATick for Java is the standalone PDF digital-signature library for the JVM — PAdES & CMS signing, deferred / remote-key signing and a green-tick appearance Adobe shows as valid, in one Maven dependency.
import io.github.aniketc068.atick.Atick;
import java.nio.file.*;
byte[] pdf = Files.readAllBytes(Paths.get("doc.pdf"));
byte[] pfx = Files.readAllBytes(Paths.get("my.pfx"));
byte[] signed = Atick.signPfx(pdf, pfx,
"{\"password\":\"••••\",\"cn\":\"Aniket Chaturvedi\",\"reason\":\"Approved\","
+ "\"green_tick\":true,\"page\":1,\"rect\":[300,55,575,175],"
+ "\"pades\":true,\"timestamp\":true,\"ltv\":true}"); // PAdES-B-LT
Files.write(Paths.get("signed.pdf"), signed);
Everything you need to sign PDFs#
PFX/P12 or PEM files directly, and USB tokens / smart-cards / HSMs / the Windows store via the deferred flow and your own JCA provider — one consistent API.
B-B, B-T, B-LT, B-LTA with RFC-3161 timestamps and long-term validation — recognised by Adobe Acrobat as “PAdES Signature Level”.
Two-step prepare → external CMS → embed for remote keys (eSign ESP, HSM, token) — the InputHash
is just the SHA-256 of the bytes-to-sign.
Logo or CN-on-the-left, the validity mark (? / green tick), distinguished name, custom text,
invisible signatures, any date format.
Certification (DocMDP), field-locking (FieldMDP), pre-sign expiry / CRL / OCSP checks, password protection and metadata.
A revocation cache speeds up batch signing, multi-signatory documents stay valid, and every error is a clean Java exception.
The green tick your readers trust#
ATick draws a verified-signature appearance with a green tick. When the certificate is valid and trusted, Adobe Reader / Acrobat shows “Signed and all signatures are valid.” — the reassurance every signed document needs.
Why ATick#
ATick for Java |
|
|---|---|
External services |
none — the crypto, PKCS#12/PEM, image decode, timestamping and LTV are all built into the engine |
Install |
one Maven dependency |
Build step |
pure Java — no JNI, no C compiler, no native build on your side |
Platforms |
Windows (64/32-bit), Linux and macOS — one cross-platform artifact |
Errors |
every failure is a Java |