Christoph Polcin

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