
apt-key
Мне было интересно, добавлен ли открытый ключ
- на репозиторий (все пакеты в репозитории аутентифицируются с помощью одного и того же открытого ключа) или
- для каждого пакета (разные пакеты в одном репозитории могут быть аутентифицированы с помощью разных открытых ключей).
Другими словами, что аутентифицирует открытый ключ: пакет, репозиторий или что-то еще?
Страница руководства apt-key
говорит
apt-key используется для управления списком ключей, используемых apt для аутентификациипакеты. Пакеты, прошедшие аутентификацию с использованием этих ключей, будут считаться доверенными.
... Крайне важно, чтобы ключи, добавленные вручную через apt-key, были проверены на принадлежность владельцу репозиторииони утверждают, что они для.
Например, мне было интересно, почему не указано ни одного репозитория или чего-то еще в качестве области действия, к которой применим открытый ключ?
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
Спасибо.
решение1
Сами ключи не имеют никакой области действия: любой ключ, добавленный в apt
связку ключей, считается действительным ключом подписи.
В репозиториях в стиле Debian подпись применяется ко всему репозиторию: каждый файл репозитория Release
подписан либо как отдельная подпись ( Release.gpg
), либо как встроенная ( InRelease
). Подпись указывает, какой ключ использовался для подписания файла (или какие ключи, поскольку файл может быть подписан несколькими ключами). Все остальное проверяется с использованием информации в файле Release
. СмотритеКак гарантируется подлинность пакетов Debian?для получения подробной информации.
Если вы хотите указать, какие ключи следует использовать для проверки определенного репозитория, вы можете сделать это в описании репозитория в sources.list
, а не при добавлении ключа в apt
связку ключей; см. Signed-By
опцию вsources.list
страница руководства.