web-dev-qa-db-fra.com

Différence entre clé (touches de réception), clé de signature et empreinte digitale dans le système APT / PPA

Prenons https://launchpad.net/~ansible/+archive/ubuntu/ansible à titre d'exemple. Si vous cliquez sur 'Détails techniques sur ce PPA', vous voyez:

Signing key:
4096R/7BB9C367

Fingerprint:
6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367

Si vous essayez d’ajouter ce logiciel sans ajouter la clé, vous obtenez

W: GPG error: http://ppa.launchpad.net trusty Release: The following signatures couldn't
be verified because the public key is not available: NO_PUBKEY 93C4A3FD7BB9C367

Quand je fais apt-key list je vois 4096R/7BB9C367. Pour ajouter la clé, je dois faire apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367. Et les empreintes digitales ne semblent pas être mentionnées nulle part.

Quelle est la différence entre toutes ces valeurs?

Pourquoi n'ai-je pas besoin de apt-key ... --recv-keys si j'ajoute le PPA mais je dois aussi si j'ajoute manuellement la ligne à /etc/apt/sources.list.d? Comment PPA sait-il que 93C4A3FD7BB9C367 est ce dont il a besoin, où le trouve-t-il?

Bonus round: Quelle est la différence entre utiliser un PPA et simplement ajouter une ligne à /etc/apt/sources.list.d/? Où cette chose PPA est-elle "hébergée", il suffit d'ajouter ppa: ansible/ansible pour ajouter cette ligne à sources.list.d?

2
user779159

Je vais commencer par votre dernière question.

ppa:ansible/ansible est un format spécial qui fait référence aux PPA du Launchpad et peut être utilisé dans les dérivés Ubuntu et Ubuntu (au moins). En termes de fonctionnalité, un PPA n’est qu’un rapport ordinaire. Cependant, ce format exact ne peut pas simplement être ajouté dans /etc/apt/sources.list, car apt ne reconnaît pas ce format. Par conséquent, l'URL du référentiel doit être ajoutée. Par exemple, l'URL pour ppa:teamName/archiveName est http://ppa.launchpad.net/teamName/archiveName/ubuntu.

En règle générale, Software Updater ou le terminal est utilisé pour ajouter un PPA. Software Updater reconnaît la syntaxe PPA. En terminal, apt-add-repository reconnaît le format et est généralement utilisé pour ajouter un PPA. Cela récupère également la clé publique utilisée pour signer le référentiel. Si, pour une raison quelconque, il ne le peut pas, vous recevrez un avertissement similaire à celui obtenu lors de l'exécution de Sudo apt-get update.

En ce qui concerne l’empreinte digitale, l’empreinte digitale complète d’une clé publique est une représentation alphanumérique de 40 caractères de la clé publique. Le tableau de bord affiche l'intégralité des 40 caractères. Cependant, il est difficile de taper ou de retenir 40 caractères, surtout lorsqu'il y a plusieurs clés publiques. Par conséquent, les 8 ou 16 derniers caractères sont généralement affichés. apt affiche les 16 derniers caractères de l’empreinte, et apt-key list (qui utilise gpg en coulisse) affiche les 8 derniers. Le format à afficher dans gpg peut être configuré.

4
saiarcot895