web-dev-qa-db-ja.com

「署名付き」debパッケージをどのように作成しますか

多くのdebパッケージを作成したいのですが、パッケージに「署名」する仕組みがわかりません。だから私は、署名されたdebパッケージを作成する方法を疑問に思っていました。

10
daniel hoggan

Ubuntu/Debianシステムでのパッケージ署名はかなり複雑です。理論的には、debパッケージに署名すると、パッケージを受け取った人は、パッケージが署名後に変更されていないことを確認できます。実際には、署名の検証はセットアップが非常に難しく、デフォルトでは無効になっています。ユーザーがローカルで一連のセットアップを行わない限り、パッケージのインストール時に署名を検証しません。

パッケージに署名するには、debsigsまたはdpkg-sigのいずれかを使用できます。署名は相互に互換性がないため、ユーザーが署名を検証するために受信側で適切なツールを使用していることを確認する必要があります。

dpkg-sigはあなたとユーザーの両方にとって使いやすいですが、debsigsはUbuntuおよびDebianでの組み込みサポート(デフォルトでは無効)を備えたツールです。

ソースパッケージ(.dscファイル)、バイナリパッケージ(.deb)、およびAPTパッケージリポジトリ自体の署名と検証に関するすべての技術的詳細を含むブログ投稿をここに書いた: http:// blog.packagecloud.io/eng/2014/10/28/howto-gpg-sign-verify-deb-packages-apt-repositories/

4
Joe Damato

Debian/Ubuntuでのパッケージ署名は、通常.changesファイルを介して行われます。パッケージをビルドするとき、ビルドの結果(ソースおよび/またはバイナリパッケージ)とそのチェックサムをリストする.changesファイルになりがちです。パッケージに署名するとき、これは通常、あなたが署名するファイルです(したがって、チェックサムによるパッケージの整合性)。

.changesファイルに署名する最も簡単な方法は、debsignを使用することです

debsign hello_1.0_AMD64.changes

これは、キーチェーンにgnupgの主キーがあり、dpkg-buildpackageおよび-usスイッチなしで-ucまたはdebuildを実行すると自動的に発生します。

1
arand