Shell scripts to convert between ascii armor PGP keys and QR codes for paper backup
Switch branches/tags
Nothing to show
Clone or download
4bitfocus Merge pull request #6 from jonseymour/master
Quote file names to better tolerate filenames with whitespace.
Latest commit 0d617ca Dec 7, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE Initial commit Mar 7, 2015
README.md Formatting updates Mar 7, 2015
asc2qr.sh Quote file names to better tolerate filenames with whitespace. Dec 3, 2017
qr2asc.sh Quote file names to better tolerate filenames with whitespace. Dec 3, 2017
test.sh Adding test script Jul 23, 2016

README.md

Easy Paper Backups of Ascii PGP Keys

Shell scripts to convert between ascii armor PGP keys and QR codes for paper backup.

After exporting your private keys in ascii armor format, you can use the scripts in this project to convert them to PNG images that can be printed and archived.

This is ever so slightly easier than printing the ascii key directly and using OCR software to recreate the key files.

Dependencies

This project depends on a couple libraries that come with applicatons that are called by these scripts.

  1. libqrencode
  2. zbar

Export keys From GPG

There are several good guides on the web about managing GPG keys and creating backups. The quick version is to use one of these commands:

gpg --armor --export > pgp-public-keys.asc
gpg --armor --export-secret-keys > pgp-private-keys.asc
gpg --armor --gen-revoke [your key ID] > pgp-revocation.asc

NOTE Be sure to securely remove your private and revocation keys once they are correctly backed up. This can be done from the command line with either the 'srm' tool on Max OS X or with 'shred' on Linux.

Convert To QR Code Images

Use the asc2qr.sh script to convert a public or private key in ascii armor format into QR code PNG images.

[kevin@computer]$ asc2qr.sh ~/gpg_public_key.asc 
generating QR1.png
generating QR2.png

[kevin@computer]$ ls -l
total 24
-rw-r--r--  1 kevin  group  6873 Mar  7 11:30 QR1.png
-rw-r--r--  1 kevin  group  1251 Mar  7 11:30 QR2.png

Print the resulting images and save them in a fireproof safe or safety deposit box.

Convert To Ascii Armor Key Files

Use the qr2asc.sh script to convert QR code images (created from an photo of the image) to a public or private key in ascii armor format.

[kevin@computer]$ qr2asc.sh *.png
decoding QR1.png
decoding QR2.png

[kevin@computer]$ ls -l
total 32
-rw-r--r--  1 kevin  group  3127 Mar  7 11:30 mykey.asc

[kevin@computer]$ diff ~/gpg_public_key.asc mykey.asc 
[kevin@computer]$

Import Keys Into GPG

To import keys into GPG use one of these commands:

gpg --import pgp-public-keys.asc
gpg --import pgp-private-keys.asc

NOTE Be sure to securely remove your private and revocation keys once they are correctly backed up. This can be done from the command line with either the 'srm' tool on Max OS X or with 'shred' on Linux.