all repos — dotfiles @ 6f4741e9778e50f32dac1c4eddaf3a8d12cf2721

personal dotfiles

add gpg backup script
la-ninpre leobrekalini@gmail.com
Mon, 23 Nov 2020 13:10:34 +0300
commit

6f4741e9778e50f32dac1c4eddaf3a8d12cf2721

parent

16a18de56a46cd808ee77bcafc1f7c7eb9a5b300

1 files changed, 55 insertions(+), 0 deletions(-)

jump to
A .local/bin/backup-secret-key

@@ -0,0 +1,55 @@

+#!/bin/sh + +ERR_1_MSG="Please specify valid uid or keyid." +QRENCODE_FLAGS="-8 -l H" + +[ -z $1 ] && ( echo $ERR_1_MSG && exit 1 ) + +gpg -K $1 > /dev/null || ( echo $ERR_1_MSG && exit 1 ) + +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 \ + 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 +