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