GPG/GnuPG Spickzettel
Es folgt die 1001 GnuPG Kurzübersicht.
# allgemein
[] optional
--armor # erzeugt Ausgabe in ASCII-Schutzhülle
key-ID # Schlüssel ID in Hex(0x…), eindeutiger Name oder E-Mail
# auf neuestem Stand?
# http://gnupg.org/download/index.en.html
gpg --version
# Schlüsselpaar anlegen
# RSA, Länge >= 2048bits, gültig für 2-5 Jahre
gpg --gen-key
# öffentliche Schlüssel anzeigen
gpg --list-keys [key-ID]
# Signaturen anzeigen
gpg --list-sigs [key-ID]
# Rückzugszertifikat erzeugen
# GPG Block mittels copy & paste in
# einer extra Datei sichern
gpg --gen-revoke key-ID
# Backup anlegen
# und duch ein Passwort schützen (sym, AES256)
gpg --armor --export-secret-keys key-ID | \
gpg --armor --symmetric --cipher-algo AES256 \
--output privat.gpg
# Backup einspielen
gpg --decrypt privat.gpg | gpg --import
# öffentlichen Schlüssel exportieren
gpg --export --armor key-ID > key-ID.pupkey.asc
# Schlüssel importieren
gpg --import key.asc
# mittels Keyserver
# echo "keyserver hkp://keys.gnupg.net" >> ~/.gnupg/gpg.conf
gpg --send-key key-ID # Export
gpg --recv-key key-ID # Import
gpg --search-keys Name # Suche
# Fingerprint anzeigen
gpg --fingerprint key-ID
# WOT - Web of Trust
# Erst Finerprint und Identität überprüfen
# dann Vertrauensstatus setzten und Schlüssel beglaubigen
gpg --edit-key key-ID
Command> trust
Level: 4 = I trust fully
Command> sign
# verschlüsseln
# auch an mehrere Empfänger
# (intern: mittels symmetrischen Sitzungsschlüssels)
# -r kurzform für --recipient - Empfänger
gpg --encrypt --armor datei.txt -r key-ID [-r key-ID]
# entschlüsseln
gpg [--decrypt] datei.txt.asc > datei.txt
# signieren
gpg --sign datei.txt
# Signatur überprüfen
gpg --verify datei.txt.gpg
# verschlüsseln und signieren
gpg --encrypt --sign [--armor] -r key-ID datei.txt
# Datei im Klartext und eingebetteter Signatur
gpg --clearsign datei.txt
# entkoppelte Signatur
gpg --detach-sign [--armor] datei.txt
# symmetrische Verfahren
gpg --symmetric [--armor] --cipher-algo aes256 datei.txt
gpg [--decrypt] [--verbose] datei.txt.gpg