Я хочу создать несколько пакетов deb, но я не знаю, как работает «подписывание» пакетов. Поэтому мне было интересно, как создать подписанный пакет deb.
Подписание пакетов в системах Ubuntu / Debian довольно грязное. Теоретически, подписание пакета deb позволяет лицу, получающему ваш пакет, проверить, что пакет не был изменен после того, как вы подписали его. На самом деле, проверка подписи очень сложна в настройке и по умолчанию отключена. Если пользователь не выполнит кучу настроек локально, он не будет проверять подпись при установке пакета.
Чтобы подписать пакет, вы можете использовать: debsigs или dpkg-sig. Подписи несовместимы друг с другом, поэтому вам необходимо убедиться, что пользователь использует соответствующий инструмент на принимающей стороне для проверки подписей.
dpkg-sig проще в использовании как для вас, так и для пользователя, но debsigs - это инструмент со встроенной поддержкой (которая по умолчанию отключена) в Ubuntu и Debian.
Похоже, тот факт, что двоичные пакеты .deb могут быть (и, насколько официальная цепочка пакетов для Debian / Ubuntu) также включены в файлы .changes. Опущен в этом ответе и связанном сообщении в блоге.
Arand
1
Подписание пакетов в Debian / Ubuntu обычно осуществляется с помощью файлов .changes. При создании пакета вы, как правило, получаете файл .changes, в котором перечислены результаты сборки (исходные и / или двоичные пакеты) и их контрольные суммы. Когда вы подписываете пакеты, это обычно тот файл, который вы подписываете (таким образом, позволяя проверить целостность пакета посредством его контрольной суммы).
Самый простой способ подписать файл .changes - это использовать debsign
debsign hello_1.0_amd64.changes
Это происходит автоматически , если у вас есть первичный ключ вы GnuPG брелка, и вы бежите dpkg-buildpackageили debuildбез -usи -ucпереключателей.
Ответы:
Подписание пакетов в системах 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-репозитории /
источник
Подписание пакетов в Debian / Ubuntu обычно осуществляется с помощью файлов .changes. При создании пакета вы, как правило, получаете файл .changes, в котором перечислены результаты сборки (исходные и / или двоичные пакеты) и их контрольные суммы. Когда вы подписываете пакеты, это обычно тот файл, который вы подписываете (таким образом, позволяя проверить целостность пакета посредством его контрольной суммы).
Самый простой способ подписать файл .changes - это использовать
debsign
Это происходит автоматически , если у вас есть первичный ключ вы GnuPG брелка, и вы бежите
dpkg-buildpackage
илиdebuild
без-us
и-uc
переключателей.источник