GnuPG Installation
Wer GnuPG im DOS Fenster oder über eine GnuPG-Shell einsetzen und sich mit
den Kommandos von GnuPG befassen möchte, findet hier die nötigen Schritte und Informationen
zur Installation und Bedienung (das GPG
Manual oder das GPG-Handbuch
seien hier wärmstens empfohlen).
Aber auch bei Nutzung von GnuPG Plug-Ins können folgende Kenntnisse von
Nutzen sein.
Installation von GnuPG
- das ZIP Archiv in LW:\(Pfad)\gnupg entpacken
- in der Registry (regedit.exe aufrufen) im Zweig \\HKEY_CURRENT_USER\Software
den Schlüssel GNU anlegen
im neuen Zweig \\HKEY_CURRENT_USER\Software\GNU den Schlüssel
GnuPG anlegen
- im neuen Zweig \\HKEY_CURRENT_USER\Software\GNU\GnuPG die
Zeichenfolge HomeDir anlegen und als Wert den Pfad zum Verzeichnis
LW:\Pfad\gnupg eintragen
Anmerkung: HomeDir bestimmt den Ort, an dem sich die Keyringe,
die Konfigurationsdatei gpg.conf, die Keytrustdatenbank trustdb.gpg und
die Datei zur Speicherung der Zufallswerte random_seed befinden.
- auf gleiche Weise in der Registry im Zweig \\HKEY_CURRENT_USER\Control
Panel zuerst den Schlüssel Mingw32 und den Unterschlüssel
NLS erstellen
- im neuen Zweig \\HKEY_CURRENT_USER\Control Panel\Mingw32\NLS
die Zeichenfolge MODir anlegen und als Wert den Pfad zum Verzeichnis
LW:\Pfad\gnupg eintragen
- im gnupg Verzeichnis die Datei de.mo in gnupg.mo
umbenennen
- LW:\Pfad\gnupg in die PATH Umgebungsvariable aufnehmen
(autoexec.bat bei Windows 98 oder Systemsteuerung/System/Umgebungsvariablen/Systemvariablen
bei Windows 2000/XP)
- Rechner neu starten und zum Test in der Eingabeaufforderung gpg --version
eingeben.
Dem GnuPG Archiv liegt auch eine Registrydatei (*.reg) bei. Wenn man die Datei mit einem beliebigen Texteditor geöffnet und darin die Pfadangaben auf das eigene System angepasst hat, kann man die obigen Angaben zur Registry automatisch in die Registry aufnehmen lassen, indem man entweder die *.reg Datei doppelt anklickt (Win 9X) oder im Kontextmenü zur Datei den Menüpunkt "zusammenführen" wählt.
Modulinstallation
Zur Installation und Nutzung der Kryptomodule für
IDEA, TIGER-192 und SHA-2 stehen zwei Wege zur Verfügung:
A
- die Kryptomodule werden in das Verzeichnis c:\lib\gnupg kopiert
- in die Options-Datei wird der Eintrag "load-extension kryptomodul.dll"
für jedes Kryptomodul aufgenommen
B
- die Kryptomodule werden in ein beliebiges Verzeichnis kopiert
- in die Options-Datei wird der Eintrag "load-extension LW:\Pfad\kryptomodul.dll"
für jedes Kryptomodul aufgenommen
GnuPG Kommandos
Hinweise:
- die wichtigsten Kommandos werden unter Windows durch die GnuPG Shells abgedeckt
- Key-ID = 0xNNNNNNNN
- "User-ID" = "Zeichenkette" (Zeichenkette kann z. B. "Vorname Nachname", "email@adresse", "Begriff" sein)
- statt GnuPG Kommandoübersicht lieber in die Manual Page von GnuPG schauen
Hilfe
|
|
gpg -h
listet die hier vorgestellten Kommandos und Optionen in Kurzform auf
|
|
|
GnuPG-Version, unterstützte Algorithmen
gpg --version
GnuPG Gewährleistungs- und Lizenzhinweis
gpg --warranty
alle Keys im Pubring
gpg --list-keys oder --list-sigs | more
einen Key im Pubring
gpg --list-keys Key-ID/"User-ID"
Pubringanzeige mit Fingerprint
gpg --list-keys/sigs --fingerprint
Pubringanzeige/einen Key mit Foto-ID, bzw. ohne Foto-ID
gpg --list-keys/sigs (Key-ID/"User-ID") --show-photos bzw. --no-show-photos
Öffentliche Bestandteile:
pub Haupt-Signaturkey
sub Unter-Keys (Signierung und/oder Verschlüsselung)
sig Zertifikate
sig L lokale Zertifikate
sig N Zertifikat ist mit Anmerkung versehen
sig P Zertifikat ist mit Beglaubigungsrichtlinie nach "URL" (Policy-URL) versehen
sig X Zertifikat ist verfallen
sig R (Eigensignatur) Key ist mit einem "designated revoker" versehen
sig R (Fremdsignatur) Zertifikat ist nicht-zurückziehbar
sig 3 Zertifikat mit check-level 3
sig 2 Zertifikat mit check-level 2
sig 1 Zertifikat mit check-level 1
sig Zertifikat mit check-level 0
(check-level siehe "Public Key zertifizieren")
uid zertifizierte User-ID
rev zurückgezogener Key/Signatur
Typen:
D DSA-Key
G ElGamal-Key (Signierung & Verschlüsselung
g ElGamal-Key (nur Verschlüsslung)
R RSA-Key
Secringanzeige
gpg --list-secret-keys
Private Bestandteile:
sec Haupt-Signaturkey
sbb Unter-Keys
Anzeige überprüfter Signaturen
gpg --check-sigs (Key-ID/"User-ID")
sig ! korrekte Signatur
sig - falsche Signatur
sig % Fehler
Anzeige der Keypakete und -unterpakete
gpg --list-packets Keydatei
|
|
|
Key erzeugen |
gpg --gen-key
- DSA und ElGamal (DSA-Key Signatur/ElGamal-Key [ELG-E] Verschlüsselung)
- DSA (nur DSA Signatur)
- ElGamal (ElGamal [ELG] Signatur und Verschlüsselung)
- RSA (nur Signatur [RSA-S])
bei RSA muss anschliessend per Key Bearbeitung mit addkey ein RSA-E (nur Verschlüsselung)
Subkey hinzugefügt werden
siehe auch Schlüsselerzeugung und Empfehlungen zur Schlüssellänge
der PGP Anleitung |
|
Revocation [Rückzugszertifikat] erzeugen |
Revocation für den eigenen Key ausstellen
gpg -o revoke.asc --gen-revoke Key-ID
Mit dem obigen Befehl wird die Datei revoke.asc angelegt, die nur die Revocationsignatur
enthält. Der Key an sich bleibt im Keyring ohne Revocationmarkierung.
Erst wenn der Key endgültig zurückgezogen und auch so auf den Keyservern
vorliegen soll, importiert man die Revocationsignaturdatei über den Keyimportbefehl
und versendet anschliessend den gesamten Public Key an den Keyserver.
Also nach der Erzeugung der Revocation:
gpg --import revocation.asc
Es ist auch möglich, nur für den Subkey oder eine Signatur eine
Revocation zu erzeugen (siehe Key Bearbeitung).
Revocation als "designated revoker" für einen fremden Key ausstellen
gpg --desig-revoke Key-ID/"User-ID"
Voraussetzung: Der Keybesitzer hat Sie mit "addrevoker" (siehe Key Bearbeitung) authorisiert.
|
|
Key löschen |
gesamten Key löschen
gpg --delete-secret-and-public-key Key-ID/"User-ID"
Public Key löschen
gpg --delete-key Key-ID/"User-ID"
Secret Key löschen
gpg --delete-secret-key Key-ID/"User-ID"
|
|
Public Key zertifizieren/beglaubigen |
mit -u Key-ID/"User-ID" kann ein spezieller Key zum zertifizieren bestimmt werden, ohne diese Angabe wird der als Standardkey bestimmte Key benutzt.
Zertifizierungsrichtlinie und -anmerkung
Werden die beiden folgenden Kommandos als Option in der gpg.conf hinterlegt, wird jedes Zertifikat mit der gleichen Anmerkung und dem gleichen Richtlinienhinweis versehen
mit --cert-notation name="ein String" --(l|nr|nrl)sign-key kann dem Zertifikat eine Anmerkung hinzugefügt werden.
name muss dabei eine eindeutige Kennung darstellen. Abgleitet von der E-Mail Adresse der User-ID username@host.domain.tld wird für name deshalb folgende Syntax verwendet: username+meinekennung@host.domain.tld
mit --cert-policy-url URL-Adresse --(l|nr|nrl)sign-key
kann eine URL angegeben werden, in deren Dokument die eigenen Richtlinien zur Beglaubigung von Public-Keys niedergelegt sind
soll für die Zertifizierung von Public Keys die gleiche Richtlinie und/oder gleiche Anmerkung wie für die Signierung von Daten und Nachrichten verwendet werden, lautet die Syntax:
--notation-data name="ein String"
--set-policy-url URL-Adresse
Variablen, die im Anmerkung String und in der Richtlinien URL verwendet werden können:
%k - kurze Key-ID des Keys, der zertifiziert wird
%K - lange Key-ID des Keys, der zertifiziert wird
%f - Fingerprint des Keys, der zertifiziert wird
%s - kurze Key-ID des Keys, mit dem zertifiziert wird
%S - lange Key-ID des Keys, mit dem zertifiziert wird
Zertifizierungskommandos
Public Key zertifizieren, Zertifikat exportierbar
gpg (-u Key-ID/"User-ID") --sign-key Key-ID
Public Key zertifizieren, Zertifikat nicht-exportierbar (lokal)
gpg (-u Key-ID/"User-ID") --lsign-key Key-ID
Public Key zertifizieren, Zertifikat exportierbar und nicht rückziehbar
gpg (-u Key-ID/"User-ID") --nrsign Key-ID
Public Key zertifizieren, Zertifikat nicht-exportierbar (lokal) und nicht
rückziehbar
gpg (-u Key-ID/"User-ID") --nrlsign Key-ID
--default-cert-check-level n
damit wird angegeben, wie gründlich der zu zertifizierende Key vor dem Zertifizieren
überprüft wurde (wird automatisch bei Zertifizieroperationen abgefragt):
(0) I will not answer. - überhaupt keine Aussage
(1) I have not checked at all - basiert auf der eigenen "Überzeugung",
dass der Key echt ist
(2) I have done casual checking. - basiert auf einer oberflächlichen
Überprüfung (Fingerprint, E-Mail...)
(3) I have done very careful checking. - gründliche Überprüfung
der Keydetails anhand offizieller Dokumente des Keybesitzers, persönlichen Zusammentreffens
und E-Mail Austausch
|
|
Export & Import |
gpg Export-Optionen Ausgabedatei Export-Kommando Key-ID/"User-ID"
Export-Optionen
gpg --export-options (no-)Parameter1,Parameter2...
wird der Präfix no- dem Parameter vorangestellt, wird die entgegengesetzte Wirkung der folgenden Parameter erzielt.
nicht-RFC komplementäre Keys einbeziehen
include-non-rfc
standardmäßig aktiviert
lokale Signaturen einbeziehen
include-local-sigs
standardmäßig deaktiviert
Attribut User-ID's (wie Photo-ID) einbeziehen
include-attributes
standardmäßig aktiviert
Informationen zum "designated revoker" einbeziehen
include-sensitive-revkeys
standardmäßig deaktiviert
Export-Kommandos
Pubkey-Export
gpg -ao pubkey.asc --export Key-ID
Seckeys-Export
gpg -o seckey --export-secret-keys User-ID
Export nicht OpenPGP kompatibler Keys
gpg -ao pubkey.asc --export-all Key-ID
gpg Import-Optionen Ausgabedatei Import-Kommando Key-ID/"User-ID"
Import-Optionen
gpg --import-options (no-)Parameter1,Parameter2...
wird der Präfix no- dem Parameter vorangestellt, wird die entgegengesetzte Wirkung der folgenden Parameter erzielt.
Import lokaler Signaturen aktivieren
allow-local-sigs
standardmäßig deaktiviert
HKP Keyserverfehler beheben, der bei mehrfachen Subkeys auftritt
repair-hkp-subkey-bug
Standard bei Anforderung eines Keys, deaktiviert bei lokalem Import
Import-Kommandos
Pub- und/oder Seckey importieren
gpg --import Keydatei (Keydatei2 Keydatein)
Pub- und/oder Seckeys importieren
gpg --fast-import Keydatei1 Keydatei2 Keydatein
|
|
Keyserver |
gpg (Keyserveradresse) (Keyserveroptionen) Keyserverkommando Key-ID/"User-ID"
Keyserver bestimmen
--keyserver Adresse
Adresse: Keyservertyp://Adresse:Port
- hkp://Adresse:Port für Horowitz-kompatible Keyserver, die per HTTP kommunizieren
z. B. hkp://blackhole.pca.dfn.de:11371
- ldap://Adresse:Port für NAI LDAP-kompatible Keyserver, die per LDAP kommunizieren
z. B. ldap://keyserver.pgp.com:389
- mailto://Adresse:Port für Horowitz-kompatible Keyserver, die per E-mail kommunizieren
der benutzte Keyserver kann entweder in den obigen Kommandos mit angegeben werden
oder als feste Option keyserver Adresse in der gpg.conf
Datei.
Keyserver Optionen
--keyserver-options (no-)Parameter1,(no-)Parameter2...
Wird der Präfix no- dem Parameter vorangestellt, wird die entgegengesetzte Wirkung der folgenden Parameter erzielt.
Alle Optionen können auch mit keyserver-options (no-)paramter1,(no-)parameter2... fest in der gpg.conf angegeben werden.
Parameter
automatischer Erhalt von Keys per Keyserver bei der Überprüfung von Signaturen
auto-key-retrieve
zurückgezogene Keys werden bei Keysuche einbezogen
include-revoked
automatisch bei Suche über HKP Keyservern und bei Suche/Anforderung über LDAP Keyserver
deaktivierte Keys werden bei Keysuche einbezogen
include-disabled
nicht bei HKP Keyservern
Subkeys werden bei Keysuche einbezogen
include-subkeys
nicht bei HKP Keyservern
temporäre Dateien statt Pipes benutzen
use-temp-files
Standard bei Windows
temporäre Dateien nicht löschen
keep-temp-files
um die Kommunikation mit dem Keyserver nachzuvollziehen
ausführliche Anzeige des Outputs des Keyservermoduls
verbose
Grad der Ausführlichkeit kann durch mehrmaliges Aufführen des Parameters erhöht werden
HTTP-Proxy bei HKP Keyservern benutzen
honor-http-proxy
HTTP-Proxy muss mit Umgebungsvariable http_proxy gesetzt sein
Kommunikation mit dem Keyserver
Pubkey suchen (und importieren)
gpg (--keyserver Adresse) --search-keys Key-ID oder "User-ID"
Pubkey senden
gpg (--keyserver Adresse) --send-keys Key-ID oder "User-ID"
Pubkey anfordern
gpg (--keyserver Adresse) --recv-keys Key-ID oder "User-ID"
Pubkey mit aktuellen User-ID's und Zertifikaten aktualisieren
gpg (--keyserver Adresse) --refresh-keys Key-ID oder "User-ID"
|
|
Key Bearbeitung |
1) gpg --edit-key Key-ID
2) Befehl>Bearbeitungskommandos eingeben:
fpr Fingerprint Anzeige
list Schlüssel und User-IDs auflisten (siehe auch
Anzeigen)
toggle schaltet zwischen Anzeige der öffentlichen Bestandteile und privaten
Bestanteile eines Keys um
check Pubkeybestandteile Anzeige
(der Signaturen)
key Nr Auswahl eines Subkeys (Zweitschlüssel)
uid Nr Auswahl einer User-ID
adduid User-ID hinzufügen
Primäre User-ID ändern
Eine neu hinzugefügte User-ID wird automatisch zur primären User-ID (die
auch als User-ID in grafischen GnuPG Tools angezeigt wird).
Will man eine andere User-ID zur primären User-ID machen, geht man wie folgt
vor:
1) mit uid Nr. die User-ID auswählen
3) mit primary die gewählte User-ID zur primären
User-ID machen
uid Nr + deluid User-ID auswählen und löschen
uid Nr + delsig User-ID auswählen und Zertifikat
löschen
revsig Signatur Revocation (Revocation einer User-ID)
addkey Subkey (Zweitschlüssel) hinzufügen
delkey Subkey (Zweitschlüssel) löschen
revkey Subkey (Zweitschlüssel) Revocation erzeugen
addrevoker hinzufügen der User-ID des Keys, dessen Inhaber den eigenen Key zurückziehen kann ("designated revoker")
sign signieren, Signatur exportierbar
lsign signieren, Signatur nicht-exportierbar (lokal)
nrsignsignieren, Signatur exportierbar und nicht rückziehbar
nrlsignsignieren, Signatur nicht-exportierbar (lokal) und nicht
rückziehbar
addphoto JPEG (maximal 288x240) Bilddatei wird als Foto-ID
im Public Key gespeichert
showphoto Anzeige der Foto-ID (mit dem Bildbetrachter, der in der options
Datei mit
photo-viewer "LW:\Pfad\programm.exe optionen" festgelegt wurde)
disable/enable Key ab-/anschalten
expire Verfallszeit ändern
passwd Passphrase des Secret Keys ändern
3) save
4) quit
|
|
Änderung der kryptografischen Präferenzen |
- gpg --edit-key Key-ID ruft den Bearbeitungsmodus auf
- showpref zeigt die aktuellen Präferenzen mit Nennung
der verwendeten Algorithmen an
pref zeigt die aktuellen Präferenzen in der Kurzform Kürzel
ID an.
- setpref S(1-10) H(1-3) Z(1-2) stellt die Reihenfolge um
(man orientiere sich bei der Eingabe an der Ausgabeform von pref
und der Algorithmen-Tabelle)
- updpref aktualisiert die gespeicherten Präferenzen
mit der neuen Reihenfolge
- save speichert die vorgenommenen Änderungen
die Präferenzen können auch dauerhaft in der gpg.conf mit default-preference-list S(1-10) H(1-3) Z(1-2) festgelegt werden
|
|
Trust und Trust-Datenbank |
(Owner) Trust einstellen
der Ownertrust Wert gibt wieder, wie gross das Vertrauen in das verantwortliche Handeln
und die Fähigkeit eines Keybesitzers, selbst wiederum für die Gültigkeit eines anderen
Public Keys zeugen zu können, ist. Die Eingaben werden in der Trust Datenbank gespeichert.
1) gpg --edit-key Key-ID oder "User-ID"
2) Befehl>trust
Befehlseingabe
|
Anzeige
|
Ich vertraue dem Keybesitzer
|
- |
-/- |
nicht berechnet |
1 |
q/- |
unbekannt/nicht genug Infos zur Berrechnung |
2 |
n/- |
nein |
3 |
m/- |
marginal |
4 |
f/- |
voll |
5 |
u/- |
ultimativ |
Pflege der Trust Datenbank
Owner Trust für Backup sichern
gpg --export-ownertrust > otrust.asc
Owner Trust importieren
gpg --import-ownertrust otrust.asc
Trust Datenbank aktualisieren
gpg --update-trustdb
Trust Datenbank aktualisieren (unbeaufsichtigt)
gpg --check-trustdb
automatisierte Trust Datenbank Aktualisierung aktivieren
gpg --auto-check-trustdb
Trust Datenbank reparieren
gpg --fix-trustdb
Zertifizierungskette
in der Optionendatei options kann man festlegen, ab wann ein
Userkey, bzw. dessen Zertifikat als neuer Keyzertifizierer gelten kann (die Standardeinstellungen
sind allerdings schon sinnvoll)
Anzahl der Zertifikate von den Usern, die als voll vertrauenswürdig
eingestuft wurden (Standard: 1)
completes-needed n
Anzahl der Zertifikate von Usern, die als marginal vertrauenswürdig
eingestuft wurden (Standard: 3)
marginals-needed n
Maximale Zertifizierungstiefe (Standard 5)
max-cert-depth n
|
|
|
Verschlüsseln |
Option -a (ASCII Hülle) zum Versand per E-Mail
an eine Person (Klartext- oder Binärdatei)
gpg -ao datei.(ext).asc -er Key-ID datei.ext
mehrere Dateien an eine Person
gpg -ar Key-ID/User-ID --enrypt-files datei1.ext datei2.ext datein.ext
oder
gpg -afr Key-ID/User-ID datei1.ext datei2.ext datein.ext
an mehrere Personen (Klartext- oder Binärdatei)
gpg -ao datei.(ext).asc -er Key-ID1 -er Key-ID2 datei.ext
an mehrere Personen durch Gruppenbildung
gpg --group Gruppenname="0xKeyID1 0xKeyID2 0xKeyIDn"
group Gruppenname="KeyID's" kann auch dauerhaft in der gpg.conf gespeichert werden, wenn man z. B. regelmässig über eine Kontaktgruppe des E-Mail Client Adressbuches Nachrichten versendet.
mehrere Dateien an mehrere Personen
gpg -afr Key-ID1/User-ID1 -afr Key-ID2/User-ID2 datei1.ext
datei2.ext datein.ext
konventionelle Verschlüsselung
(mit Passphrase)
gpg -ao datei.(ext).asc -c --cipher-algo XY --digest-algo XY datei.ext
Anonyme Verschlüsselung (Beispiel Klartext)
gpg -ao datei.asc --throw-keyid --no-version -er Key-ID datei.ext
Der Befehl nullt die Angaben zur Empfänger Key-ID aus, unterdrückt die Versionszeile
und es wird keine Kommentarzeile erzeugt.
Kann dazu benutzt werden, um über Newsgroups anonym per Mail2News Gateways/Remailer miteinander
zu kommunizieren
Verschlüsselung mit Aufforderung, entschlüsselten Inhalt nicht zu speichern
gpg --for-your-eyes-only -er Key-ID datei.ext
Zur Speicherung muss GnuPG mit gpg -o datei.ext datei.asc explizit eine Ausgabedatei mitgeteilt werden und PGP wird zur Anzeige den Secure Viewer verwenden.
|
|
Entschlüsseln |
Entschlüsselung einer Datei
gpg -o datei.ext datei.(ext).asc
Entschlüsselung mehrerer Dateien
gpg --decrypt-files datei1.(ext).asc datei2.(ext).asc datein.(ext).asc
Entschlüsseln einer Nachricht, die keine oder eine falsche Key-ID enthält
siehe --throw-keyid
gpg --try-all-secrets datei.(ext).asc
Entschlüsseln und CRC Fehler ignorieren
manchmal wird die CRC Prüfsumme der ASCII Hülle während des Mailtransportes beschädigt.
gpg --ignore-crc-error datei.(ext).asc
Entschlüsselung einer Datei (automatisch mit lokaler
Passwortdatei)
das Passwort wird in der Datei 'passwort.txt' gespeichert
gpg -o datei.ext --passphrase-fd 0 --decrypt datei.ext.asc < passwort.txt
|
|
Signieren |
Option -a (ASCII Hülle) zum Versand per E-Mail.
mit -u Key-ID/"User-ID" kann ein spezieller Key zum signieren bestimmt werden, ohne diese Angabe wird der als Standardkey bestimmte Key benutzt.
Signaturrichtlinie und -anmerkung
Werden die beiden folgenden Kommandos als Option in der gpg.conf hinterlegt, wird jede Signatur mit der gleichen Anmerkung und dem gleichen Richtlinienhinweis versehen.
mit --sig-notation name="ein String" --(l|nr|nrl)sign-key kann der Signatur eine Anmerkung hinzugefügt werden.
name muss dabei eine eindeutige Kennung darstellen. Abgleitet von der E-Mail Adresse der User-ID username@host.domain.tld wird für name deshalb folgende Syntax verwendet: username+meinekennung@host.domain.tld
mit --sig-policy-url URL-Adresse --(l|nr|nrl)sign-key
kann eine URL angegeben werden, in deren Dokument die eigenen Richtlinien zur Signierung von Daten und Nachrichten niedergelegt sind
soll für die Signierung von Daten und Nachrichten die gleiche Richtlinie und/oder gleiche Anmerkung wie für die Zertifizierung von Public Keys verwendet werden, lautet die Syntax:
--notation-data name="ein String"
--set-policy-url URL-Adresse
Variablen, die im Anmerkung String und in der Richtlinien URL verwendet werden können:
%s - kurze Key-ID des Keys, mit dem signiert wird
%S - lange Key-ID des Keys, mit dem signiert wird
Signierkommandos
Signierung (Dateiinhalt mit Signaturhülle)
gpg (-u Key-ID/"User-ID") -s datei.ext (Ausgabe als 'datei.ext.asc')
Signierung (Binärdatei angehängt)
gpg (-u Key-ID/"User-ID") -ao datei.ext.sig -b datei.ext
Signierung (Klartext)
gpg (-u Key-ID/"User-ID") --clearsign datei.ext
oder
gpg (-u Key-ID/"User-ID") -asto datei.asc datei.ext
Signierung (Klartext angehängt)
gpg (-u Key-ID/"User-ID") -ato datei.ext.sig -b datei.ext
Signierung & Verschlüsselung (Klartext)
gpg (-u Key-ID/"User-ID" -ato datei.ext.asc -ser Empfänger-Key-ID datei.ext
Signierung (Klartext, automatisch mit lokaler Passwortdatei)
das Passwort wird in der Datei 'passwort.txt' gespeichert
gpg -ao datei.ext.asc --passphrase-fd 0 -st datei.ext < passwort.txt
|
|
Überprüfen |
Signatur ist angehängt & Datei liegt als 'datei.ext' vor oder ist in der Datei enthalten
gpg --verify datei(.ext).sig
Datei liegt mit beliebigem Dateinamen vor - 'datei' oder 'datei.ext'
gpg --verify datei(.ext).sig datei
mehre Dateien - Signaturen sind in den Dateien enthalten
gpg --verify datei1(.sig) datei2(.sig) datein(.sig)
|
|
|
Hashwert mittels eines Hashalgorithmus für Dateien erzeugen
gpg --print-md Algo datei.ext/*.ext/*.* > name.md
für Algo kann MD5,SHA1,RIPEMD eingesetzt werden
Hashwerte mittels aller verfügbaren Hashalgorithmen für Dateien erzeugen
gpg --print-mds datei.ext/*.ext/*.* > name.mds
Programm zur Anzeige der Fotos/Photo-User-ID konfigurieren
--photo-viewer Programm String
Stringvariablen:
"%i" - temporäre Bilddatei
"%I" - temporäre Bilddatei, die nach Anzeige nicht gelöscht wird
"%k" - Key-ID
"%K" - lange Key-ID
"%f" - Fingerprint
"%t" - Extension des Bildtyps (z. B. "jpg")
"%T" - MIME Typ des Bildes (z.B. "image/jpeg")
"%%" - Prozentzeichen
Sinnvollerweise wird die Anweisung in die Konfigurationsdatei gpg.conf gesetzt. Die Nutzung der Stringvariablen ist vom eingesetzten Bildbetrachtungsprogramm abhängig.
|
Die Auflistung der Kommandos und Optionen mit
gpg -h
|
Aufruf: gpg [Optionen] [Dateien]
Signieren, prüfen, verschlüsseln, entschlüsseln
Die voreingestellte Operation ist abhängig von den Eingabedaten
Befehle:
-s, --sign [Datei] Eine Unterschrift erzeugen
--clearsign [Datei] Eine Klartextunterschrift erzeugen
-b, --detach-sign Eine abgetrennte Unterschrift erzeugen
-e, --encrypt Daten verschlüsseln
-f, --encrypt-files [files] encrypt files
-c, --symmetric Daten symmetrisch verschlüsseln
--store Nur speichern
-d, --decrypt Daten entschlüsseln (Voreinstellung)
--decrypt-files [files] decrypt files
--verify Signatur prüfen
--list-keys Liste der Schlüssel
--list-sigs Liste der Schlüssel und ihrer Signaturen
--check-sigs Signaturen der Schlüssel prüfen
--fingerprint Liste der Schlüssel und ihrer "Fingerabdrücke"
--list-secret-keys Liste der geheimen Schlüssel
--gen-key Ein neues Schlüsselpaar erzeugen
--delete-keys remove keys from the public keyring
--delete-secret-keys remove keys from the secret keyring
--sign-key Schlüssel signieren
--lsign-key Schlüssel nur auf diesem Rechner signieren
--nrsign-key sign a key non-revocably
--nrlsign-key sign a key locally and non-revocably
--edit-key Unterschreiben oder Bearbeiten eines Schl.
--gen-revoke Ein Schlüsselwiderruf-Zertifikat erzeugen
--export Schlüssel exportieren
--send-keys Schlüssel zu einem Schlü.server exportieren
--recv-keys Schlüssel von einem Schlü.server importieren
--search-keys search for keys on a key server
--refresh-keys update all keys from a keyserver
--import Schlüssel importieren/kombinieren
--list-packets Lediglich Struktur der Datenpakete anzeigen
--export-ownertrust Exportieren der "Owner trust" Werte
--import-ownertrust Importieren der "Owner trust" Werte
--update-trustdb Ändern der "Trust"-Datenbank
--check-trustdb unattended trust database update
--fix-trustdb Reparieren einer beschädigten "Trust"-Datenb.
--dearmor Datei oder stdin von der ASCII-Hülle befreien
--enarmor Datei oder stdin in eine ASCII-Hülle einpacken
--print-md algo [Dateien] Message-Digests für die Dateien ausgeben
Optionen:
-a, --armor Ausgabe mit ASCII-Hülle versehen
-r, --recipient NAME Verschlüsseln für NAME
--default-recipient NAME NAME als voreingestellten Empfänger benutzen
--default-recipient-self Den Standardschlüssel als voreingestellten
Empfänger benutzen
-u, --local-user Mit dieser User-ID signieren
-z Kompressionsstufe auf N setzen (0=keine)
--textmode Textmodus benutzen
-o, --output Als Ausgabedatei benutzen
-v, --verbose Detaillierte Informationen
-q, --quiet Etwas weniger Infos
--no-tty das Terminal gar nicht benutzen
--force-v3-sigs v3 Signaturen erzwingen
--no-force-v3-sigs do not force v3 signatures
--force-v4-certs force v4 key signatures
--no-force-v4-certs do not force v4 key signatures
--force-mdc Beim Verschlüsseln ein Siegel (MDC) verwenden
--disable-mdc never use a MDC for encryption
-n, --dry-run Keine wirklichen Änderungen durchführen
--use-agent verwende den GPG-Agent
--batch Stapelmodus: Keine Abfragen
--yes "Ja" als Standardantwort annehmen
--no "Nein" als Standardantwort annehmen
--keyring Als öffentlichen Schlüsselbund mitbenutzen
--secret-keyring Als geheimen Schlüsselbund mitbenutzen
--show-keyring show which keyring a listed key is on
--default-key NAME NAME als voreingestellten Schlüssel benutzen
--keyserver HOST Schlüssel bei diesem Server nachschlagen
--charset NAME Terminalzeichensatz NAME benutzen
--options Optionen aus der Datei lesen
--status-fd FD Statusinfo auf FD (Dateihandle) ausgeben
--trusted-key KEYID ultimately trust this key
--load-extension DATEI Erweiterungsmodul DATEI laden
--rfc1991 Den in RFC1991 beschriebenen Modus nachahmen
--openpgp alle Paket-, Verschlüsselungs- und
Hashoptionen auf OpenPGP-Verhalten einstellen
--pgp2 set all packet, cipher and digest options
to PGP 2.x behavior
--s2k-mode N Verwenden des Mantra-Modus N
--s2k-digest-algo NAME Hashverfahren NAME für Mantras benutzen
--s2k-cipher-algo NAME Verschlü.verfahren NAME für Mantras benutzen
--cipher-algo NAME Verschlü.verfahren NAME benutzen
--digest-algo NAME Hashverfahren NAME benutzen
--compress-algo N Komprimierverfahren N benutzen
--throw-keyid Entferne Empfänger-ID verschlüsselter Pakete
--show-photos Show Photo IDs
--no-show-photos Don't show Photo IDs
--photo-viewer Set command line to view Photo IDs
-N, --notation-data NAME=WERT verwende diese "notation"-Daten
(Auf der "man"-Seite ist eine vollständige Liste
aller Kommandos und Optionen)
Beispiele:
-se -r Bob [Datei] Signieren und verschlüsseln für Benutzer Bob
--clearsign [Datei] Eine Klartextsignatur erzeugen
--detach-sign [Datei] Eine abgetrennte Signatur erzeugen
--list-keys [Namen] Schlüssel anzeigen
--fingerprint [Namen] "Fingerabdrücke" anzeigen
|
|
Anzeige der Keybestandteile
und Präferenzen
Es gibt zwei Möglichkeiten, um sich die Bestandteile und Vorgaben der
eigenen Keys anzeigen zu lassen:
1. mit dem GnuPG Befehl "gpg --list-packets Keydatei"
hier ein Ausschnitt:
:public key packet:
version 4, algo 1, created 984919053, expires 0
pkey[0]: [3100 bits]
pkey[1]: [17 bits]
:user ID packet: "Kai Raven <k.raven@freenet.de>"
:signature packet: algo 1, keyid CB30CEBA4C213383
version 4, created 984919053, md5len 0, sigclass 10
digest algo 2, begin of digest ae 49
hashed subpkt 2 len 5 (sig created 2001-03-18)
hashed subpkt 9 len 5 (key expires after 1y0d0h0m)
hashed subpkt 11 len 6 (pref-sym-algos: 10 9 8 7 1)
hashed subpkt 25 len 2 (primary user ID)
hashed subpkt 27 len 5 (key flags: 03 00 00 00)
subpkt 16 len 9 (issuer key ID CB30CEBA4C213383)
data: [3099 bits]
2. Mit dem PGPdump Web-Interface
oder dem PGPdump Programm.
Weitere Informationen zu PGPdump auf der PGPdump Homepage von Kazu Yamamoto.
In dem Eingabeformular wird der Inhalt des in eine Datei exportierten Public
Keys eingegeben und abgesendet (man füge nie den Inhalt seines Private
Keys ein!).
Die Syntax für das PGPdump Programm ist
- pgpdump -h zur Anzeige der Kommandooptionen
- pgpdump Keydatei.asc zur Anzeige der Pakete eines Keys
Das Interface bietet noch umfangreichere Inhaltsausgaben als der GPG Befehl.
Hier ein Ausschnitt:
Old: Public Key Packet(tag 6)(401 bytes)
Ver 4 - new
Public key creation time - Sun Mar 18 13:37:33 CET 2001
Pub alg - RSA Encrypt or Sign(pub 1)
RSA n(3100 bits) - ...
RSA e(17 bits) - ...
Old: User ID Packet(tag 13)(33 bytes)
User ID - Kai Raven <k.raven@freenet.de>
Old: Signature Packet(tag 2)(438 bytes)
Ver 4 - new
Sig type - Generic certification of a User ID and Public Key packet(0x10).
Pub alg - RSA Encrypt or Sign(pub 1)
Hash alg - SHA1(hash 2)
Hashed Sub: signature creation time(sub 2)(4 bytes)
Time - Sun Mar 18 13:37:33 CET 2001
Hashed Sub: key expiration time(sub 9)(4 bytes)
Time - Mon Mar 18 13:37:33 CET 2002
Hashed Sub: preferred symmetric algorithms(sub 11)(5 bytes)
Sym alg - Twofish with 256-bit key(sym 10)
Sym alg - AES with 256-bit key(sym 9)
Sym alg - AES with 192-bit key(sym 8)
Sym alg - AES with 128-bit key(sym 7)
Sym alg - IDEA(sym 1)
Hashed Sub: primary user id(sub 25)(1 bytes)
Primary - Yes
Hashed Sub: key flags(sub 27)(4 bytes)
Flag - This key may be used to certify other keys
Flag - This key may be used to sign data
Sub: issuer key ID(sub 16)(8 bytes)
Key ID - cb 30 ce ba 4c 21 33 83
Hash left 2 bytes - ae 49
RSA m^d mod n(3099 bits) - ...
-> PKCS-1
Bei beiden Auszügen sind die Präferenzen für den zu verwendenden
Verschlüsselungsalgorithmus klar erkennbar.
Der Key wurde mit PGP 7.X, bevorzugter Algorithmus: Twofish, erlaubte Algorithmen:
AES, IDEA und Twofish, erstellt und mit GnuPG importiert.
Wenn man auf die gleiche Weise den Secret Key untersucht, entdeckt man, dass
PGP 7.X den Key nur mit der Passphrase und MD5, während GnuPG die Passphrase
mit Salt und RIPEMD-160 schützt.
Der untere, mit GnuPG erstellte Key zeigt, dass standarmässig AES-128,
gefolgt von Twofish-256, CAST5-128 und Blowfish-128 festgelegt werden. Im
Gegensatz zum PGP-Key sind hier auch der Kompressions- und der Hashalgorithmus
näher spezifiziert.
Zum Vergleich ein mit GnuPG erstellter Key:
Old: Public Key Packet(tag 6)(418 bytes)
Ver 4 - new
Public key creation time - Sat May 5 16:48:57 CEST 2001
Pub alg - DSA Digital Signature Standard(pub 17)
DSA p(1024 bits) - ...
DSA q(160 bits) - ...
DSA g(1023 bits) - ...
DSA y(1024 bits) - ...
Old: User ID Packet(tag 13)(19 bytes)
User ID - Kai Test <kai@test>
Old: Signature Packet(tag 2)(87 bytes)
Ver 4 - new
Sig type - Positive certification of a User ID and Public Key packet(0x13).
Pub alg - DSA Digital Signature Standard(pub 17)
Hash alg - SHA1(hash 2)
Hashed Sub: signature creation time(sub 2)(4 bytes)
Time - Sat May 5 16:48:57 CEST 2001
Hashed Sub: preferred symmetric algorithms(sub 11)(4 bytes)
Sym alg - AES with 128-bit key(sym 7)
Sym alg - Twofish with 256-bit key(sym 10)
Sym alg - CAST5(sym 3)
Sym alg - Blowfish(sym 4)
Hashed Sub: preferred hash algorithms(sub 21)(2 bytes)
Hash alg - RIPEMD160(hash 3)
Hash alg - SHA1(hash 2)
Hashed Sub: preferred compression algorithms(sub 22)(2 bytes)
Comp alg - ZLIB <RFC1950>(comp 2)
Comp alg - ZIP <RFC1951>(comp 1)
[ Inhalt GnuPG Anleitung | Top | Zurück | Weiter ]
|