comment créer un package deb «signé»

10

Je veux créer un certain nombre de packages deb, mais je ne sais pas comment fonctionne la "signature" des packages. Je me demandais donc comment créer un package deb signé.

daniel hoggan
la source
4
doublon possible de créer un package .deb à partir de scripts ou de binaires
Sampo Sarrala - codidact.org
1
@SampoSarrala Ce n'est pas du tout un doublon.
Pilot6

Réponses:

5

La signature de paquets sur les systèmes Ubuntu / Debian est plutôt compliquée. En théorie, la signature d'un package deb permet à la personne qui reçoit votre package de vérifier que le package n'a pas été modifié après sa signature. En réalité, la vérification de signature est terriblement difficile à configurer et est désactivée par défaut. À moins que l'utilisateur ne fasse un ensemble de configuration localement, il ne vérifiera pas la signature lors de l'installation du package.

Pour signer un paquet, vous pouvez utiliser: debsigs ou dpkg-sig. Les signatures ne sont pas compatibles entre elles, vous devrez donc vous assurer que l'utilisateur utilise l'outil approprié du côté de la réception pour vérifier les signatures.

dpkg-sig est plus facile à utiliser pour vous et pour l'utilisateur, mais debsigs est l'outil avec un support intégré (qui est désactivé par défaut) sur Ubuntu et Debian.

J'ai écrit un article de blog contenant tous les détails techniques de la signature et de la vérification des packages source (fichiers .dsc), des packages binaires (.deb) et des référentiels de packages APT eux-mêmes ici: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-verify-deb-packages-apt-repositories /

Joe Damato
la source
Il semble que les paquets binaires .deb puissent être (et sont, pour autant que la chaîne de conditionnement officielle pour Debian / Ubuntu) inclus dans les fichiers .changes également. Est omis dans cette réponse et l'article de blog lié.
2015 à 13h53
1

La signature de paquets sur Debian / Ubuntu se fait généralement via des fichiers .changes. Lorsque vous créez un package, vous avez tendance à vous retrouver avec un fichier .changes, répertoriant les résultats de la génération (packages source et / ou binaires) et leurs sommes de contrôle, lorsque vous signez des packages, il s'agit normalement du fichier que vous signez (permettant ainsi la vérification de la l'intégrité du package par le biais de sa somme de contrôle).

La façon la plus simple de signer un fichier .changes est d'utiliser debsign

debsign hello_1.0_amd64.changes

Cela se produit automatiquement si vous avez une clé primaire dans votre trousseau gnupg et que vous exécutez dpkg-buildpackageou debuildsans les commutateurs -uset -uc.

arand
la source