Simple PDF signer
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Přemysl Janouch f9f3171c02
Use Go modules
1 year ago
cmd/pdf-simple-sign Go: additional small fixes 1 year ago
pdf Go: less API stupidity coming from the C++ heritage 1 year ago
LICENSE Relicense to 0BSD, update mail address 2 years ago
NEWS Add NEWS 1 year ago
README.adoc Add a Go port 1 year ago
go.mod Use Go modules 1 year ago
go.sum Use Go modules 1 year ago enable installation 2 years ago
pdf-simple-sign.cpp Add comments about some potential issues 1 year ago


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 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 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.


Build dependencies: Meson, a C++11 compiler, pkg-config
Runtime dependencies: libcrypto (OpenSSL 1.1 API)

$ git clone
$ cd pdf-simple-sign
$ meson builddir
$ cd builddir
$ ninja

In addition to the C++ version, also included is a native Go port:

$ go get


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

Contributing and Support

Use 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://, channel #dev.

Bitcoin donations are accepted at: 12r5uEWEgcHC46xd64tt3hHt9EUvYYDHe9


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.