updated:  2024 02. May
published:  2021 04. March

GNU Privacy Guard

Der GNU-Privatsphärenschutz

GnuPG dient zum Ver- und Entschlüsseln von Daten sowie zum Erzeugen und Prüfen von digitalen Signaturen.

Text
 Digitale Signatur mit GnuPG  · Quelle · CC0 · 

Signatur prüfen

Mit der Option --verify wird ein Dokument oder eine Datei mithilfe der digitalen Unterschrift auf seine Echtheit geprüft.


 gpg --verify <digitale-Unterschrift> <Programm/Dokument>

Als Ausgabe sollte mindesten die korrekte Signatur bestätigt sein.

Ausgabe OK
1
2 gpg: Korrekte Signatur von "Name <XXXX@yyyy.org>" [unbekannt]
3 gpg: WARNUNG: Dieser Schlüssel trägt keine vertrauenswürdige Signatur!
4 gpg:          Es gibt keinen Hinweis, daß die Signatur wirklich dem vorgeblichen Besitzer gehört.
5 Haupt-Fingerabdruck  = AAAA BBBB CCCC DDDD FFFF  GGGG HHHH LLLL MMMM PPPP
6

Sollte folgende Ausgabe erscheinen, dann fehlt der öffentliche Schlüssel im Schlüsselbund.

Ausgabe mit fehlendem Schlüssel
1
2 gpg: Signatur vom Di 01 Jan 1970 00:00:00 CEST
3 gpg:                mittels RSA-Schlüssel AAAABBBBCCCCDDDDFFFFGGGGHHHHLLLLMMMMPPPP
4 gpg: Signatur kann nicht geprüft werden: Kein öffentlicher Schlüssel
5

Schlüssel des Benutzers auflisten

Alle GnuPG-Schlüssel eines Benutzers werden in einem Schlüsselbund im Home-Verzeichnis unter ~/.gnupg gespeichert.


 # öffentliche Schlüssel
 gpg --list-keys
 gpg -k
 gpg --list-keys   --keyid-format short
 gpg --fingerprint --keyid-format short
 
 # öffentliche Schlüssel aus anderem Schlüsselbund
 gpg --list-keys --no-default-keyring --keyring /etc/apt/trusted.gpg.d/datei.gpg
 
 # private Schlüssel
 gpg -K --fingerprint --keyid-format short

Ausgabe Beispiel
1
2 pub   rsa4096/F4B1808F 2024-04-08 [SC] [verfällt: 2024-04-10]
3       Schl.-Fingerabdruck = 9F3C C419 CB51 8FC0 7670  B79B 03E0 D5A5 F4B1 808F
4 uid              [uneingeschränkt] MeinName (Kommentar) <MeineEmailAddresse@aaa.org>
5 sub   rsa4096/33B5F09EB5F9AF02 2024-04-08 [E] [verfällt: 2024-04-10]
6

Die erste Zeile mit pub (public oder auch sec für private) enthält die Verschlüsselungsart und die Schlüssellänge sowie die Schlüssel-ID F4B18… im Kurzformat. Wie man unschwer erkennen kann, bildet die ID des Schlüssels teile des Fingerabdrucks. Die Zeilen mit sub enthalten die Unterschlüssel.

Schlüssel anderer auflisten

Neben dem eigenen Schlüsselbund existieren im System auch andere öffentliche Schlüssel, die bereits durch das Debian-Paketsystem installiert wurden. Z.B. in den Verzeichnissen: /usr/share/keyrings/ oder /etc/apt/trusted.../.


 # öffentliche Schlüssel aus anderem Schlüsselbund
 gpg --list-keys --no-default-keyring --keyring /<Path>/<file.gpg>

 # z.B. Inhalt von debian-keyring.gpg anzeigen
 gpg --no-default-keyring --keyring /usr/share/keyrings/debian-keyring.gpg --list-keys 2>/dev/null | grep -v verfallen

 # anzeigen aller im System installierten Pakete mit Schlüssel
 dpkg -l | grep -i keyring

 # auflisten eines Schlüsselpakets
 dpkg -L <PackageName> 

Öffentlichen Schlüssel suchen und importieren

Einen öffentlichen Schlüssel erhält man vom Anbieter selbst (Webseite, Email) oder von einem Schlüsselserver. Der Inhalt eines öffentlichen Schlüssels wird mit der Option --with-fingerprint angezeigt und mit --import in den eigenen Schlüsselbund integriert.


 gpg --with-fingerprint <PublicKeyFile>
 gpg --with-fingerprint --keyid-format long <PublicKeyFile>

 gpg --import <PublicKeyFile>

gpg - Optionen

Option Beschreibung
--dearmor convert Sig-File from ASCII to Binary
--enarmor convert Sig-File from Binary to ASCII

Schlüsselserver

https://keyserver.ubuntu.com
https://keys.openpgp.org
https://keyserver.pgp.com
http://pgp.mit.edu
http://pgp.surfnet.nl

GnuPG Artikel im Ubuntu-Wiki
Wikipediaartikel
Asymmetrische Verschlüsselung
CodeTool

Stichworte (tags)