#!/bin/bash
# (C) David Vajda
# gpg Excersize
# 2025 05 28
if [[ "$1" == "1" || "$1" == "generate-key" ]]
then
echo "We generate a key with gpg"
echo "(C) David Vajda"
echo "gpg excersize"
echo "2025 05 28"
gpg --full-generate-key
elif [[ "$1" == "2" || "$1" == "list-keys" ]]
then
gpg --list-keys
elif [[ "$1" == "3" || "$1" == "get-key-id" ]]
then
s=$(gpg --list-keys)
echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g'
elif [[ "$1" == "4" || "$1" == "fingerprint" ]]
then
s=$(gpg --list-keys)
echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g'
t=$(echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g')
gpg --fingerprint "$t"
elif [[ "$1" == "5" || "$1" == "export" ]]
then
s=$(gpg --list-keys)
echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g'
t=$(echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g')
gpg --output key20250528.txt.asc -a --export "$t"
cat key20250528.txt.asc
elif [[ "$1" == "6" || "$1" == "encrypt-decrypt" ]]
then
echo "(C) David Vajda" > klartext20250528.txt
echo "Klartext" >> klartext20250528.txt
echo "2025-05-28" >> klartext20250528.txt
echo " " >> klartext20250528.txt
echo "Hallo Welt" >> klartext20250528.txt
s=$(gpg --list-keys)
echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g'
t=$(echo "$s" | tail -n 3 | head -n 1 | sed 's/[^0-9,^A-F]*\([0-9,A-F]*\)[^0-9,^A-F]*/\1/g')
gpg -a --encrypt --recipient "$t" klartext20250528.txt
cat klartext20250528.txt.asc
gpg --decrypt klartext20250528.txt.asc >> encrypted20250528.txt
cat encrypted20250528.txt
else
#/bin/bash "$0" "generate-key"
#/bin/bash "$0" "2"
/bin/bash "$0" "6"
fi