Репозиторий, подписанный GPG, работает не так, как ожидалось

Мы размещаем некоторые из наших собственных программных пакетов в качестве debs в нашем собственном репозитории. В целях создания прототипа мы использовали «без аутентификации». Теперь мы пытаемся делать вещи более правильно и делать все это GPG. Вот что я пробовал только для тестового прогона:

1) Создайте ключ с помощью gpg-gen

~$ gpg --list-keys
/home/me/.gnupg/pubring.gpg
--------------------------------
pub   4096R/BBBBB39F 2017-03-09
uid                  Someone Somebody <someone@somewhere.com>
sub   4096R/129E9336 2017-03-09

(что, кстати, там есть SUB?)

2) aptly publish ... Это запрашивает мою парольную фразу для указанного ключа, поэтому в этот момент он должен что-то делать с ключом.

3) экспортировать ключ с помощью gpg —export —armor> какой-нибудь файл. pubkey

4) скопируйте файл file.pubkey на тестовую машину

5) запустите sudo apt-key add somefile.pubkey

sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2017-03-09 [SC]
     E51B E216 4658 FB8B 6E42  8A09 F9BC EF4C BBBB B39F
uid           [ unknown] Someone Somebody <someone@somewhere.com>
sub   rsa4096 2017-03-09 [E]
…
…
…

Итак, похоже, он попал туда. Подложка теперь отображается по-другому?

6) И, наконец, sudo apt-get update :

~$ sudo apt-get update
Hit:1 http://ftp.us.debian.org/debian stretch InRelease
Hit:2 http://ftp.us.debian.org/debian stretch-updates InRelease     
Hit:3 http://security.debian.org stretch/updates InRelease          
Get:4 http://our.aptly.repo stretch InRelease [2317 B]
Ign:4 http://our.aptly.repo stretch InRelease            
Fetched 2317 B in 9s (256 B/s)                                                 
Reading package lists... Done
W: GPG error: http://our.aptly.repo stretch InRelease: The following signatures were invalid: E51BE2164658FB8B6E428A09F9BCEF4CBBBBB39F
W: The repository 'http://our.aptly.repo stretch InRelease' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.

Я не понимаю, что здесь происходит. Правонарушение вроде в том, что что-то не подписано? Какой шаг я пропустил?

1
задан 10 March 2017 в 18:30
1 ответ

Современная программа установки Debian stretch больше не принимает подписи SHA1. Однако, Aptly использовал SHA1 до версии 0.9.7 (соответствующий PR, обратите внимание, что он также был перенесён в версию 0.9.6.1). Я подозреваю, что версия Aptly, которую вы используете, старше этой. Если да, то подумайте о добавлении их repo в ваш source.list.

.
1
ответ дан 3 December 2019 в 23:33

Теги

Похожие вопросы