Better support GPG migrations

After yet another unpleasant experience starting up GPG on a new system, I
decided to encode my learnings and mistakes as aliases, functions, scripts,
hoping to protect my future me from myself. Fingers crossed!
This commit is contained in:
William Carroll 2019-03-11 18:00:03 +00:00
parent e774ce5d1c
commit eaf42b68c2
5 changed files with 64 additions and 21 deletions

View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
set -e
# Run this script to export all the information required to transport your GPG
# information.
# Usage: ./export.sh [directory]
# TODO: run this periodically as a job.
destination="${1:-$(mktemp -d)}"
if [ ! -d "$destination" ]; then
echo "$destination does not exist. Creating it..."
mkdir -p "$destination"
fi
gpg --armor --export >"$destination/public.asc"
gpg --armor --export-secret-keys >"$destination/secret.asc"
gpg --armor --export-ownertrust >"$destination/ownertrust.txt"
echo $(realpath "$destination")

View file

@ -0,0 +1,13 @@
#!/usr/bin/env bash
set -e
# Run this script to import all of the information exported by `export.sh`.
# Usage: ./export.sh path/to/directory
gpg --import "$1/public.asc"
gpg --import "$1/secret.asc"
gpg --import-ownertrust "$1/ownertrust.txt"
# Run this at the end to output some verification
gpg --list-keys