GPG-Tarballs von der Befehlszeile mit dem öffentlichen Schlüsselblock des Unterzeichners überprüfen?

652
jww

Ich habe ein Skript zum Abrufen der fünf Quellpakete von Gcrypt aus GnuPG Download . Ich hole auch die Signatur für jedes Paket. Zum Beispiel:

FILE=libassuan-2.2.0 wget -q "ftp://ftp.gnupg.org/gcrypt/libassuan/$FILE.tar.bz2.sig" -O "$FILE.tar.bz2.sig" wget -q "ftp://ftp.gnupg.org/gcrypt/libassuan/$FILE.tar.bz2" -O "$FILE.tar.bz2" gpg --verify "$FILE.tar.bz2.sig" "$FILE.tar.bz2" 

Beim Versuch, den Download zu überprüfen, erhalte ich die Fehlermeldung "Signatur kann nicht geprüft werden: Öffentlicher Schlüssel nicht gefunden" . Dies ist zu erwarten, da die VM recht sauber ist und keinen GPG-Schlüsselbund hat (ich glaube, so heißt es).

Ich habe den öffentlichen Schlüsselblock von der Signaturschlüssel- Seite und dessen Datei heißt gpg-signers.pem. Aber ich weiß nicht, wie ich es mit GPG verwenden soll.

Ich habe die Manpages durchsucht, aber ich sehe nicht, wie Sie public key block ( gpg-signers.pem) an command ( gpg --verify) übergeben. Es gibt ein --sign-key, aber es wird verwendet, um einen öffentlichen Schlüssel mit Ihrem geheimen Schlüssel zu signieren . und nicht den Schlüssel des Unterzeichners angeben, um eine Signatur zu überprüfen.

Wie gehe ich gpg-signers.pemauf gpg --verifydie Unterschrift auf dem Paket zu überprüfen?

1

1 Antwort auf die Frage

1
把友情留在无盐

Wir müssen die Schlüssel importieren, bevor Sie die Signatur prüfen.

$ gpg --import gpg-signers.pem gpg: key 4F25E3B6: public key "Werner Koch (dist sig)" imported $ gpg --verify libassuan-2.2.0.tar.bz2.sig libassuan-2.2.0.tar.bz2 gpg: Signature made Thu 11 Dec 2014 21:13:07 JST using RSA key ID 4F25E3B6 gpg: Good signature from "Werner Koch (dist sig)" 

Wenn die Schlüssel nicht dauerhaft in der lokalen Datenbank gespeichert werden sollen, verwenden Sie einen Einwegschlüsselring.

$ gpg --no-default-keyring --keyring 1.keyring --import gpg-signers.pem gpg: keyring 1.keyring created ... $ gpg --no-default-keyring --keyring 1.keyring --verify ... ... $ trash 1.keyring 

Standardmäßig erhalten wir Schlüssel außerhalb des Bandes .

Obwohl nicht so bequem wie HTTPS, können Sie den öffentlichen Schlüssel von Werner Koch über herunterladen gpg --recv-key 4F25E3B6. Dieser Befehl funktioniert in vielen Distributionen mit einem vorkonfigurierten Keyserver. Es ist einfach, einen Skript-Look in eine Signaturdatei zu schreiben und automatisch den Schlüssel der Person herunterzuladen, die diese Signatur ausgegeben hat. Die Entscheidung bleibt jedoch weiterhin uns überlassen, ob wir der Person vertrauen oder nicht.

Ist es kein Wunder, dass Sicherheit wie GPG nicht weit verbreitet ist ... Es ist ziemlich traurig, wenn Sie nicht einmal eine Signatur mit einer Nachricht und einem Schlüssel überprüfen können, ohne 5 zusätzliche Schritte, eine Suche der Manpages und eine Hilfe von Super User ... jww vor 9 Jahren 0
bearbeitet, vielleicht ist der neue Abschnitt für Ihren zusätzlichen Kommentar gut. 把友情留在无盐 vor 9 Jahren 0
"Wir fügen nur Schlüssel von Personen hinzu, denen wir vertrauen", ist ziemlich unsinnig. Sie müssen nur _sign_keys von Personen vergeben, denen Sie vertrauen. Das bloße Hinzufügen zum Schlüsselbund ändert absolut nichts. grawity vor 9 Jahren 3
Fehlerbericht abgelegt ... [Problem 1860: Signaturen können nicht mithilfe des öffentlichen Schlüsselblocks des Signaturgebers von der Befehlszeile aus überprüft werden] (https://bugs.g10code.com/gnupg/issue1860). jww vor 9 Jahren 0