Sign a paper digitally using QR codes and GPG
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore first commit May 31, 2011
COPYING renamed license to copying Jun 6, 2011
README changed readme Jul 15, 2012 added LICENSE Jun 1, 2011
message.txt coursera example Jun 16, 2012


What is this?
This Python script generates a PDF file with an embedded QR code,
based on a message. This QR code contains the message signed
with your private gpg key. The purpose of this is to have a
printed signed document.

The idea is to build an Android application that verifies
signatures on these printed documents by scanning the text on
the document by for example OCR and verifies the text by checking
the QR code and verify the included signature.

Similar ideas (not open source):

- first line missing in sign, see workaround
- strip tags like <b>
- restructure code
- smaller qr code:
  - later do signing with clearsign=False
  - strip -----END PGP SIGNATURE----- etc?
- build signature based on other things:
  - sign final grade certificates using an algorithm to make statements
    based on grades and sign these

Required Python Modules:
- python-reportlab (>= 2.5)

- python-qrencode (>= 1.0)

- python-gnupg (>= 0.2.7)

- gnupg executable

Debian testing:
aptitude install python-reportlab python-qrencode gnupg python-gnupg

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <>.

See COPYING file