From 6f4741e9778e50f32dac1c4eddaf3a8d12cf2721 Mon Sep 17 00:00:00 2001 From: la-ninpre Date: Mon, 23 Nov 2020 13:10:34 +0300 Subject: add gpg backup script --- .local/bin/backup-secret-key | 55 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100755 .local/bin/backup-secret-key diff --git a/.local/bin/backup-secret-key b/.local/bin/backup-secret-key new file mode 100755 index 0000000..62c107a --- /dev/null +++ b/.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 + -- cgit v1.2.3