Simple PDF signer (C++, Go)
Go to file
2017-11-08 18:02:03 +01:00
LICENSE Initial commit 2017-11-08 18:02:03 +01:00
meson.build Initial commit 2017-11-08 18:02:03 +01:00
pdf-simple-sign.cpp Initial commit 2017-11-08 18:02:03 +01:00
README.adoc Initial commit 2017-11-08 18:02:03 +01:00

pdf-simple-sign

pdf-simple-sign is a simple open source PDF signer intended for documents generated by Cairo. As such, it currently comes with some restrictions:

  • the document may not have any forms or signatures already, as they will be overwitten

  • the document may not employ cross-reference streams, or must constitute a hybrid-reference file at least

  • the document may not be newer than PDF 1.6 already, or it will get downgraded to that version

  • the signature may take at most 4 kilobytes as a compile-time limit, which should be enough space even for one intermediate certificate

The signature is attached to the first page and has no appearance.

I dont 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

$ git clone https://github.com/pjanouch/pdf-simple-sign.git
$ cd pdf-simple-sign
$ meson builddir
$ cd builddir
$ ninja

Usage

$ ./pdf-simple-sign document.pdf document.signed.pdf KeyAndCerts.p12 password

Contributing and Support

Use this projects GitHub to report any bugs, request features, or submit pull requests. If you want to discuss this project, or maybe just hang out with the developer, feel free to join me at irc://irc.janouch.name, channel #dev.

Bitcoin donations: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9

License

pdf-simple-sign is written by Přemysl Janouch <p.janouch@gmail.com>.

You may use the software under the terms of the ISC license, the text of which is included within the package, or, at your option, you may relicense the work under the MIT or the Modified BSD License, as listed at the following site: