GnuPG/Schlüssel
Schlüssel auflisten
Option | Beschreibung |
---|---|
Private Keys | gpg -K |
Public Keys | gpg -k |
Schlüssel erstellen
$ gpg --full-gen-key Please select what kind of key you want: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (sign only) (4) RSA (sign only) Your selection?
- Es folgt ein Menü, welche Art von Schlüssel man erstellen möchte. Voreingestellt ist RSA und RSA.
- Enter tippen!
- Nun wird gefragt, welche Schlüssellänge man haben möchte. Mit Enter wird die Voreinstellung von 3072 Bit genommen, es wird empfohlen mindestens 3072 Bit zu nehmen.
- Man kann auch längere Schlüssellängen eintippen, um die Sicherheit zu erhöhen, jedoch dauert die Arbeit der Kryptografie länger.
- RSA keys may be between 1024 and 4096 bits long
- What keysize do you want? (3072)
- Man kann auch längere Schlüssellängen eintippen, um die Sicherheit zu erhöhen, jedoch dauert die Arbeit der Kryptografie länger.
- Danach folgt die Frage, wie lange das Schlüsselpaar gültig ist
- Voreingestellt ist 0, also für ewig
- Es wird allerdings empfohlen, sich auf eine bestimmte Zeitdauer festzulegen und keinen "ewigen" Schlüssel anzulegen.
Please specify how long the key should be valid. 0 = key does not expire <n> = key expires in n days <n>w = key expires in n weeks <n>m = key expires in n months <n>y = key expires in n years Key is valid for? (0)
- Nun noch der echte Name, die E-Mail-Addresse und einen kurzen Kommentar eingeben. Falls alles in Ordnung ist, O eingeben und Enter drücken.
GnuPG needs to construct a user ID to identify your key. Real name:Null Acht-Fünfzehn Email address: Comment: You selected this USER-ID: Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?
- Es öffnet sich nun ein Menü, um ein Passwort einzugeben für den privaten Schlüssel, um später zu signieren und zu entschlüsseln.
- Vom System werden jetzt eine Menge Zufallszahlen benötigt, sodass ihr nun freundlich gebeten werdet, ein wenig mit der Maus oder der Tastatur zu spielen. Es dauert eine ganze Weile, aber dann kommt von der Konsole, dass das Schlüsselpaar erstellt wurde.
- Der erstellte Schlüssel liegt nun in ~/.gnupg/.
Verschlüsseln einer Datei
Entschlüsseln einer Datei
Exportiert einen öffentlichen Schlüssel der Schlüssel-ID in die selbsterstellte <Dateiname.asc>
gpg -a --output <Dateiname.asc> --export "Schlüssel-ID oder Name"
- Der Schlüssel ist nun in der Dateiname.asc und kann nun als E-Mail-Anhang verschickt
- Der private Schlüssel wird nicht exportiert.
Importiert einen Schlüssel
gpg --import <Dateiname.asc>
- Dieser Befehl fügt den Schlüssel zum Schlüsselbund
Signiert eine Datei in eine separate Datei
gpg --detach-sign -a <Datei>
- Nachdem man sein Passwort eingegeben hat, erhält man eine Datei Datei.asc. Diese enthält die Signatur der Originaldatei
Überprüft eine signierte Datei
gpg --verify <Datei.asc>
- Es folgt eine Nachricht: gpg: Good signature from <ID oder Name>
GnuPG-Signaturen prüfen
- GnuPG-Signaturen sind ein Beweis dafür, dass verteilte Dateien signiert wurden durch den Besitzer des Signaturschlüssels.
- Zum Beispiel, wenn diese Website war kompromittiert und die ursprünglichen Electrum-Dateien wurden ersetzt, Signaturüberprüfung würde fehlschlagen, da der Angreifer dies nicht tun würde gültige Signaturen erstellen können.
- Beachten Sie, dass ein Angreifer das wäre gültige Hashes erstellen können, deshalb veröffentlichen wir keine Hashes unserer Binaries hier bringt es keine Sicherheit
- Um GnuPG-Signaturen verifizieren zu können, müssen Sie importieren der öffentliche Schlüssel des Unterzeichners.
- Electrum-Binärdateien sind mit signiert von ThomasV Öffentlichkeit Schlüssel .
- Unter Linux können Sie diesen Schlüssel folgendermaßen importieren Befehl:
gpg --import ThomasV.asc.
- Hier sind Anleitungen für Fenster und MacOS .
- Wenn Sie einen Schlüssel importieren, sollten Sie seinen Fingerabdruck mit überprüfen unabhängige Quellen, wie z wie hier , oder verwenden das Web von Vertrauen .
Löscht alle Schlüssel einer ID
gpg --delete-secret-and-public-key "ID oder Name"
- Wenn private Schlüssel vorhanden sind, werden diese zuerst gelöscht.
- Es folgen eine Menge Bestätigungsanfragen, ob man das wirklich will
Fehlerbehebung
Unpassender IOCTL
[GNUPG:] PINENTRY_LAUNCHED 23758 curses 1.1.0 - linux - gpg: Beglaubigung fehlgeschlagen: Unpassender IOCTL (I/O-Control) für das Gerät [GNUPG:] BEGIN_ENCRYPTION 2 9 [GNUPG:] FAILURE sign-encrypt 83918950 gpg: /usr/bin/duply: sign+encrypt failed: Unpassender IOCTL (I/O-Control) für das Gerät
Lösung
echo use-agent >> ~/.gnupg/gpg.conf echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf echo allow-loopback-pinentry >> ~/.gnupg/gpg-agent.conf
Hintergrund
- Es kommt zu dieser Fehlermeldung, weil gpg die Passphrase nicht automatisch abfragen konnte.
- Die erledigt der gpg-agent, der wiederum pinentry-curses zur sicheren Übertragung der Passphrase verwendet.
- In der gpg.conf muss angegeben werden, dass der gpg-agent verwendet werden soll (use-agent).
- Und in welchem Modus dieser verwendet werden soll (pinentry-mode loopback).
- In der gpg-agent.conf muss dem gpg-agent erlaubt werden den loop-back-pinentry durchzuführen.
Hinweise
Man kann für seinen Namen ein Leerzeichen verwenden, jedoch muss man bei allen Operationen mit GnuPG den Namen in Hochkommatas setzen.
$ gpg -ear 'Null Acht-Fünfzehn' <Datei>
- Das Verschlüsseln im ASCII-Format ist vor allem vorzuziehen bei der Übertragung übers Internet.
- Wenn man es lediglich auf der Festplatte verschlüsselt speichern will, ist das Binärformat, gerade bei großen Dateien, vorzuziehen.