blob: 56bf9308e28b88658963a517c26dfb7fa95be8c0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/bin/sh
ERR_1_MSG="Please specify valid uid or keyid."
QRENCODE_FLAGS="-8 -l H"
echo $@
[ -z $1 ] && echo $ERR_1_MSG && exit 1
gpg -K $1 > /dev/null || ( echo $ERR_1_MSG && exit 1 )
usage () {
echo "$0 GPG_KEYID|GPG_UID [OUTPUT_TYPE]"
exit 2
}
export_secret() {
gpg --export-secret-keys $1 \
| paperkey --output-type raw
}
export_public() {
gpg --export $1
}
qr_png_prettify () {
OUTPUT_TITLE="$1 paperkey backup $(date +"%F %T")"
montage -pointsize 18 \
-title "$OUTPUT_TITLE" \
-label pubkey "$2" \
-label seckey "$3" \
-mode concatenate \
"$1-backup.png"
}
qr_png () {
QRENCODE_FLAGS="${QRENCODE_FLAGS} -t png -s 10"
QRENCODE_PUBKEY_FLAGS="${QRENCODE_FLAGS} -o $1-pubkey.png"
QRENCODE_SECKEY_FLAGS="${QRENCODE_FLAGS} -o $1-seckey.png"
export_secret $1 | qrencode $QRENCODE_SECKEY_FLAGS
export_public $1 | qrencode $QRENCODE_PUBKEY_FLAGS
qr_png_prettify $1 "$1-pubkey.png" "$1-seckey.png"
rm "$1-pubkey.png" "$1-seckey.png"
}
qr_utf8 () {
QRENCODE_FLAGS="${QRENCODE_FLAGS} -t UTF8 -o -"
echo "$1 secret paperkey"
export_secret $1 | qrencode $QRENCODE_FLAGS
echo "$1 public key"
export_public $1 | qrencode $QRENCODE_FLAGS
}
case $2 in
"png" ) qr_png $1 ;;
* ) qr_utf8 $1 ;;
esac
|