cmd/pdf-simple-sign | ||
go.mod | ||
go.sum | ||
LICENSE | ||
meson.build | ||
NEWS | ||
pdf-simple-sign.cpp | ||
README.adoc |
pdf-simple-sign
pdf-simple-sign is a simple PDF signer intended for documents produced by the Cairo library. As such, it currently comes with some restrictions:
-
the document may not have any forms or signatures already, as they would be overwritten
-
the document may not employ cross-reference streams, or must constitute a hybrid-reference file at least
The signature is attached to the first page and has no appearance.
I don’t aim to extend the functionality any further. The project is fairly self-contained and it should be easy to grasp and change to suit to your needs.
Building
Build dependencies: Meson, a C++11 compiler, pkg-config
Runtime dependencies: libcrypto (OpenSSL 1.1 API)
$ git clone https://git.janouch.name/p/pdf-simple-sign.git $ cd pdf-simple-sign $ meson builddir $ cd builddir $ ninja
In addition to the C++ version, also included is a native Go port:
$ go get janouch.name/pdf-simple-sign/cmd/pdf-simple-sign
Usage
$ ./pdf-simple-sign document.pdf document.signed.pdf KeyAndCerts.p12 password
If the signature doesn’t fit within the default reservation of 4 kibibytes,
you might need to adjust it using the -r
option, or throw out any unnecessary
intermediate certificates.
Contributing and Support
Use https://git.janouch.name/p/pdf-simple-sign to report bugs, request features,
or submit pull requests. git send-email
is tolerated. If you want to discuss
the project, feel free to join me at ircs://irc.janouch.name, channel #dev.
Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9
License
This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors.