Ich veröffentliche ein Debian-Repository . Es wurde mit einem 4096-Bit-GPG-Schlüssel signiert und wird seit einiger Zeit von Debian 7- und Debian 8-Systemen verwendet. Kürzlich berichtete einer meiner Benutzer, dass Debian 9 Probleme damit hatte. Insbesondere apt-get update
ergab sich:
Paketlisten lesen ... Fertig W: GPG-Fehler: http://Debian-repository.JdeBP.info . stabile InRelease: Die folgenden Signaturen waren ungültig: A71733F3CEBD655CB25A0DDCE1E3A497555CE68F W: Das Repository ' http://Debian-repository.JdeBP.info . Stable InRelease 'ist nicht signiert.
Beachten Sie, dass ich im Gegensatz zu den Leuten bei " Repo APT sicher - GPG-Signatur für apt-get update ungültig " und " Frustriert von treffend und GPG-Signatur " nicht verwende aptly
. Ich leide also eindeutig nicht an aptly
irgendwelchen Fehlern. (-:
Also, wo liegt das Problem?
debian
apt
repository
JdeBP
quelle
quelle
Antworten:
Die Ursache des Problems ist, dass ohne Aktualisierung des Debian-Wikis oder eines ähnlichen Dokuments und so gut wie nur ein paar weitgehend Ubuntu- bezogenen Ankündigungen auf einer nicht-debianischen persönlichen WWW-Site Schlüssel unterstützt werden, die eine Präferenz für SHA angeben. 1 Verschlüsselung wurde in APT ab Debian 9 deaktiviert. (Insbesondere wurde sie in APT Version 1.4 ~ beta1 deaktiviert, und Debian 9 hat Version 1.4.7.)
Ein Repository-Publisher muss also zwei Dinge tun:
personal-digest-preferences
undpersonal-cipher-preferences
an$HOME/.gnupg/gpg.conf
an, um SHA-1 aus den GPG-Einstellungen zu entfernen. Dies verhindert, dass das Problem mit neuen Schlüsseln auftritt.pref
undsetpref
Befehle, speichern Sie die Schlüssel zum Schlüsselbund.Beachten Sie, dass es nicht erforderlich ist, einen neuen Signaturschlüssel zu generieren, und dass der aktualisierte Schlüssel mit entferntem SHA-1 weiterhin mit dem älteren Debian 8 APT zusammenarbeitet.
Weiterführende Literatur
quelle
Wie JdeBP bereits betont hat, unterstützt apt ab Debian 9 SHA-1 nicht mehr, was bedeutet, dass die
InRelease
Datei stattdessen mit SHA-256 erstellt werden muss (dasselbe gilt fürRelease.pg
).Was es für mich behoben hat, war die Angabe
-digest-algo SHA256
als Parameter für gpg, sodass die vollständige Sequenz wie folgt lauten würde:Erstellen Sie das Paket:
Unterschreib es:
Das Signieren kann auch aus dem temporären Ordner erfolgen und dann das gesamte Objekt in den Webserver-Ordner kopiert werden, oder Sie möchten mit Pfaden herumspielen, nämlich dem
.
beim Aufrufen verwendeten " "apt-ftparchive
, wenn Sie Ihre.deb
s in einem separaten Baum speichern möchten .quelle