Skip to content

Instantly share code, notes, and snippets.

@IsraelBuitronD
Last active October 27, 2015 06:23
Show Gist options
  • Select an option

  • Save IsraelBuitronD/fcfdf6396d9697821e3b to your computer and use it in GitHub Desktop.

Select an option

Save IsraelBuitronD/fcfdf6396d9697821e3b to your computer and use it in GitHub Desktop.
Backup, archive and encrypt gpg key-pair
#!/bin/bash
if [ $# -ne 1 ] ; then
echo "USAGE: $0 <gpg-key-id>"
exit 1;
fi
KEY_ID=$1
PUB_KEY_FILE=${KEY_ID}-pub.asc
PRI_KEY_FILE=${KEY_ID}-pri.asc
ZIP_FILE=${KEY_ID}.zip
KEYSERVER=hkp://pool.sks-keyservers.net:80
echo "Sending public key to server..."
gpg --keyserver $KEYSERVER --send-keys $KEY_ID
echo "Exporting public key..."
gpg --armor --export --output $PUB_KEY_FILE $KEY_ID
echo "Exporting private key..."
gpg --armor --export-secret-key --yes --output $PRI_KEY_FILE $KEY_ID
echo "Zipping keys..."
zip $KEY_ID.zip $PUB_KEY_FILE $PRI_KEY_FILE
echo "Encrypting zip archive with phrase..."
gpg --symmetric --output $ZIP_FILE.gpg $ZIP_FILE
if test -e srm
then
echo "Secure deleting temporal files..."
srm -zf $PUB_KEY_FILE $PRI_KEY_FILE $ZIP_FILE
else
echo "Deleting temporal files..."
rm -f $PUB_KEY_FILE $PRI_KEY_FILE $ZIP_FILE
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment