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é.
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é.
Réponses:
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 /
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-buildpackage
ou debuild
sans les commutateurs -us
et -uc
.