Initial commit

This commit is contained in:
Sebastian Hugentobler 2018-07-19 12:30:54 +02:00
commit 61dec59f3e
5 changed files with 56 additions and 0 deletions

12
.editorconfig Normal file
View File

@ -0,0 +1,12 @@
root = true
[*]
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4
[*.md]
trim_trailing_whitespace = false

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*~
.DS_Store
*.swp
target

10
README Normal file
View File

@ -0,0 +1,10 @@
Two scripts to create qr codes from a private key and to restore them.
Use "create_codes" to create a pdf "qr.private.pdf" with arranged qrcodes (it
takes the key id as an input).
When restoring, scan the qr codes in the order of their numbers, put the parts
into numbered txt files and run the "restore_key" script with the first arg being
the path to the public key and the second one the path to the directory with the
txt files.

23
bin/create_codes Executable file
View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
set -e
KEY=$1
OUTPUT=${2:-qr.private.pdf}
SINGLE_SIZE=${3:-1024}
gpg2 --export-secret-key "$KEY" | paperkey --output-type raw | base64 | split -b "$SINGLE_SIZE"
index=1
for i in x*; do
qrencode --8bit --level=M -o "qr.$index.png" < "$i"
let index=index+1
done
montage -title "private key for $KEY" -label "%t" -mode concatenate $(find . -name "qr.*.png" | sort -V) "$OUTPUT"
function finish {
rm -f x*
rm -f qr.*.png
}
trap finish EXIT

7
bin/restore_key Executable file
View File

@ -0,0 +1,7 @@
#!/usr/bin/env sh
set -e
PUB_KEY=$1
INPUT_DIR=${2:-.}
cat "$INPUT_DIR"/*.txt | base64 -D | paperkey --pubring "$PUB_KEY" --input-type raw --output private.key