В корне репозитория apt находится файл Release
, который содержит хэши различных файлов Contents
, Release
и Packages
. Файлы Packages
в свою очередь, содержат хеши отдельных файлов пакетов .deb
. На том же месте, что и корневой файл Release
есть файл Release.gpg
который содержит GPG цифровой подпись файла Release
сделанную с помощью закрытого ключа , принадлежащего репозиториев сопровождающих.
Когда apt-get
загружает файл Release
для репозитория, он автоматически пытается проверить цифровую подпись. Если открытый ключ из пары ключей, с которой была сделана подпись, не зарегистрирован в вашей системе, вам будет предложено утвердить его; на этом этапе вы можете связаться с сопровождающими хранилища или третьей стороной, чтобы проверить подлинность открытого ключа путем сравнения отпечатков пальцев (или, если у вас есть подлинная копия открытого ключа, вы можете добавить ее с помощью apt-key
перед запуском apt-get
.) После этого любые файлы, которые apt-get
загружает из репозитория, будут проверяться по их контрольным суммам в файлах Release
или Packages
.
Хэши в файлах Release
и Packages
являются обычной функцией целостности данных apt. Добавление подписи GPG является частью того, что Debian называет SecureApt (см. Эту ссылку для более подробной информации).