web-dev-qa-db-fra.com

comment créer un paquet deb "signé"

Je souhaite 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 paquet deb signé.

10
daniel hoggan

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

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

dpkg-sig est plus facile à utiliser pour vous et l'utilisateur, mais debsigs est l'outil avec le support intégré (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 APT eux-mêmes ici: http: // blog.packagecloud.io/eng/2014/10/28/howto-gpg-sign-verify-deb-packages-apt-repositories/

4
Joe Damato

La signature d'un paquet sur Debian/Ubuntu se fait généralement via des fichiers .changes. Lorsque vous construisez un paquet, vous avez tendance à vous retrouver avec un fichier .changes, qui répertorie les résultats de la construction (paquets source et/ou binaires) et leurs sommes de contrôle. Lorsque vous signez des paquets, il s’agit normalement du fichier que vous signez intégrité du colis au moyen de sa somme de contrôle).

Le moyen le 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.

1
arand