2025-06-04, gpg20250528.sh

#!/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