Didier Stevens

Friday 26 April 2013

Howto: Add a Digital Signature to a PDF File – Free Software

Filed under: Encryption,PDF — Didier Stevens @ 12:58

This is an update to my post Howto: Add a Digital Signature to a PDF File, but this time I found free software.

Again we use our certificate which we install (open the .p12 file). Install the free JSignPdf software.

Select the PDF file to sign and select an output file (if you don’t want to overwrite your original):


Push Sign It:


And then you can check the signature with Adobe Reader:


If you get the following error, make sure you change your PDF version from %PDF-1.1 to %PDF-1.4:

Choosen configuration requires PDF version update, but it’s not possible in the “append” signature mode.


  1. unfortunately the software will be “retiring” ;-(

    Comment by bavo — Thursday 2 May 2013 @ 12:04

  2. @bavo I’ve read that too, but I also noticed the author released new versions after his announcement.

    Comment by Didier Stevens — Friday 3 May 2013 @ 8:52

  3. […] There’s something that I wanted to test out for quite some time, but kept postponing until recently. Adobe Reader will ask confirmation before it retrieves a URL when a PDF document contains an action to do so. But what about the Certificate Revocation List in a signed PDF document? […]

    Pingback by Adobe Reader and CRLs | Didier Stevens — Monday 13 May 2013 @ 18:08

  4. Nice is there any way to do it from a commandline? or API?

    Comment by Andre S — Monday 20 October 2014 @ 20:20

  5. @Andre yes, see my other post on this

    Comment by Didier Stevens — Tuesday 21 October 2014 @ 6:59

RSS feed for comments on this post. TrackBack URI

Leave a Reply (comments are moderated)

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Blog at WordPress.com.