Назад | Перейти на главную страницу

Почему я получаю это предупреждение APT: подпись по ключу […] использует слабый алгоритм дайджеста (SHA1)?

Я размещаю частный репозиторий Debian для пользовательского кода Raspberry Pi. Изначально я построил программное обеспечение на Raspbian Jessie (версия 8), сгенерировал ключ GPG, который использую для подписи репозитория, и запустил sudo apt-key add ... на всех устройствах, чтобы они могли аутентифицировать мой репозиторий. Это работало нормально, пока недавно я не добавил несколько новых устройств с Raspbian Stretch (версия 9). Хотя я добавил к ним тот же самый ключ GPG, вот результат, который я вижу, когда запускаю sudo apt-get update:

W: GPG error: http://url.of.private.repo stable Release: The following signatures were invalid: 95F9B44CE35F40B759D59C2A77E4184C595493B1
W: The repository 'http://url.of.private.repo stable Release' 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.

Однако это происходит только с новыми коробками. На писах, на которых все еще работает Джесси, я могу бежать sudo apt-get update все, что я хочу, и это не дает мне никаких предупреждений об аутентификации.

Почему Pis, использующий Stretch, считает, что ключ GPG недействителен, хотя все они используют один и тот же ключ? Я мог бы сгенерировать новый ключ в ящике, в котором работает Stretch, но я надеюсь избежать добавления новых ключей GPG в каждый ящик Jessie. (Прямо сейчас у меня есть только несколько новых ящиков, использующих Stretch, тогда как около 200 ящиков все еще работает с Jessie.) Что я могу сделать, чтобы убедить блоки Stretch в том, что этот ключ GPG действительно действителен?

В соответствии с просьбой, ниже приведены выходные данные sudo apt-get -o Debug::Acquire::gpgv=true update команда на обеих платформах:

Согласно комментариям:

SHA1 считается слабым, поэтому Debian решил переключиться на более сильные алгоритмы хеширования еще в Март 2016 г..

Следовательно, при использовании репозиториев APT: устарело SHA1 и переключитесь (как минимум) на SHA256.

Видеть эта статья вики Debian для краткого описания рассуждений и вот этот который отслеживает сломанные / исправленные (вышестоящие) репозитории.

это ответ на вопрос ubuntu исправил это для меня: редактировать ~/gnupg/gpg.conf и добавить:

cert-digest-algo SHA256
digest-algo SHA256