как создать «подписанный» пакет deb

10

Я хочу создать несколько пакетов deb, но я не знаю, как работает «подписывание» пакетов. Поэтому мне было интересно, как создать подписанный пакет deb.

Дэниел Хогган
источник
4
возможный дубликат создания пакета .deb из сценариев или двоичных файлов
Sampo Sarrala - codidact.org
1
@SampoSarrala Это совсем не дубликат.
Pilot6

Ответы:

5

Подписание пакетов в системах Ubuntu / Debian довольно грязное. Теоретически, подписание пакета deb позволяет лицу, получающему ваш пакет, проверить, что пакет не был изменен после того, как вы подписали его. На самом деле, проверка подписи очень сложна в настройке и по умолчанию отключена. Если пользователь не выполнит кучу настроек локально, он не будет проверять подпись при установке пакета.

Чтобы подписать пакет, вы можете использовать: debsigs или dpkg-sig. Подписи несовместимы друг с другом, поэтому вам необходимо убедиться, что пользователь использует соответствующий инструмент на принимающей стороне для проверки подписей.

dpkg-sig проще в использовании как для вас, так и для пользователя, но debsigs - это инструмент со встроенной поддержкой (которая по умолчанию отключена) в Ubuntu и Debian.

Я написал сообщение в блоге, содержащее все технические подробности подписания и проверки пакетов с исходным кодом (файлы .dsc), двоичных пакетов (.deb) и самих репозиториев пакетов APT: http://blog.packagecloud.io/eng/2014/ 10/28 / HOWTO-GPG-знак-Verify-DEB-пакеты-apt-репозитории /

Джо Дамато
источник
Похоже, тот факт, что двоичные пакеты .deb могут быть (и, насколько официальная цепочка пакетов для Debian / Ubuntu) также включены в файлы .changes. Опущен в этом ответе и связанном сообщении в блоге.
Arand
1

Подписание пакетов в Debian / Ubuntu обычно осуществляется с помощью файлов .changes. При создании пакета вы, как правило, получаете файл .changes, в котором перечислены результаты сборки (исходные и / или двоичные пакеты) и их контрольные суммы. Когда вы подписываете пакеты, это обычно тот файл, который вы подписываете (таким образом, позволяя проверить целостность пакета посредством его контрольной суммы).

Самый простой способ подписать файл .changes - это использовать debsign

debsign hello_1.0_amd64.changes

Это происходит автоматически , если у вас есть первичный ключ вы GnuPG брелка, и вы бежите dpkg-buildpackageили debuildбез -usи -ucпереключателей.

Arand
источник