Wie erstellen Sie ein "signiertes" Deb-Paket?

10

Ich möchte eine Reihe von Deb-Paketen erstellen, weiß aber nicht, wie das "Signieren" von Paketen funktioniert. Also habe ich mich gefragt, wie man ein signiertes Deb-Paket erstellt.

Daniel Hoggan
quelle
4
Mögliches Duplikat zum Erstellen eines .deb-Pakets aus Skripten oder Binärdateien
Sampo Sarrala - codidact.org
1
@SampoSarrala Dies ist überhaupt kein Duplikat.
Pilot6

Antworten:

5

Das Signieren von Paketen auf Ubuntu / Debian-Systemen ist ziemlich chaotisch. Theoretisch ermöglicht das Signieren eines Deb-Pakets der Person, die Ihr Paket erhält, zu überprüfen, ob das Paket nach dem Signieren nicht geändert wurde. In der Realität ist die Überprüfung der Signatur sehr schwierig einzurichten und standardmäßig deaktiviert. Sofern der Benutzer nicht einige lokale Einstellungen vornimmt, überprüft er die Signatur nicht, wenn das Paket installiert wird.

Um ein Paket zu signieren, können Sie entweder debsigs oder dpkg-sig verwenden. Die Signaturen sind nicht miteinander kompatibel. Sie müssen daher sicherstellen, dass der Benutzer auf der Empfangsseite das richtige Tool zum Überprüfen der Signaturen verwendet.

dpkg-sig ist sowohl für Sie als auch für den Benutzer einfacher zu verwenden, aber debsigs ist das Tool mit integrierter Unterstützung (die standardmäßig deaktiviert ist) unter Ubuntu und Debian.

Ich habe hier einen Blog-Beitrag geschrieben, der alle technischen Details zum Signieren und Überprüfen von Quellpaketen (.dsc-Dateien), Binärpaketen (.deb) und APT-Paket-Repositorys enthält: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-verify-deb-packages-apt-repositories /

Joe Damato
quelle
Es scheint die Tatsache zu sein, dass binäre .deb-Pakete auch in .changes-Dateien enthalten sein können (und sind, soweit es die offizielle Paketkette für Debian / Ubuntu betrifft). Wird in dieser Antwort und im verlinkten Blog-Beitrag weggelassen.
Arand
1

Die Paketsignierung unter Debian / Ubuntu erfolgt normalerweise über .changes-Dateien. Wenn Sie ein Paket erstellen, erhalten Sie in der Regel eine .changes-Datei, in der die Ergebnisse des Builds (Quell- und / oder Binärpakete) und deren Prüfsummen aufgelistet sind. Wenn Sie Pakete signieren, ist dies normalerweise die Datei, die Sie signieren (wodurch die Überprüfung der Paketintegrität über die Prüfsumme).

Der einfachste Weg, eine .changes-Datei zu signieren, ist die Verwendung debsign

debsign hello_1.0_amd64.changes

Dies geschieht automatisch , wenn Sie einen Primärschlüssel in GnuPG Schlüsselanhänger haben, und Sie laufen dpkg-buildpackageoder debuildohne -usund -ucSchalter.

arand
quelle