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.
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.
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.
Antworten:
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 /
quelle
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
Dies geschieht automatisch , wenn Sie einen Primärschlüssel in GnuPG Schlüsselanhänger haben, und Sie laufen
dpkg-buildpackage
oderdebuild
ohne-us
und-uc
Schalter.quelle