| Crates.io | debsign-rs |
| lib.rs | debsign-rs |
| version | 0.1.0 |
| created_at | 2025-12-14 16:41:26.843414+00 |
| updated_at | 2025-12-14 16:41:26.843414+00 |
| description | Sign Debian packages with GPG |
| homepage | https://github.com/greenpdx/debsign-rs |
| repository | https://github.com/greenpdx/debsign-rs |
| max_upload_size | |
| id | 1984689 |
| size | 207,402 |
Sign Debian packages with GPG, written in Rust.
.deb files with detached GPG signatures.deb filescargo install --path .
sudo dpkg -i debsign-rs_0.1.0_arm64.deb
# Sign with an exported key file
debsign --key-file key.asc package.deb
# Sign with passphrase
debsign --key-file key.asc --passphrase "secret" package.deb
# Write to a different output file
debsign --key-file key.asc --output signed.deb package.deb
# Verbose output
debsign -V --key-file key.asc package.deb
debsign --verify package.deb
gpg --export-secret-keys --armor YOUR_KEY_ID > key.asc
Usage: debsign [OPTIONS] <DEB_FILE>
Arguments:
<DEB_FILE> Path to the .deb file to sign
Options:
-k, --key <KEY> GPG key ID or fingerprint to use for signing
-f, --key-file <KEY_FILE> Path to secret key file (ASCII armored)
-p, --passphrase <PASSPHRASE> Passphrase for the secret key
-o, --output <OUTPUT> Output file (default: overwrites input)
-v, --verify Verify signature instead of signing
-V, --verbose Show verbose output
-h, --help Print help
A .deb file is an ar archive containing:
debian-binary - version stringcontrol.tar.* - package metadatadata.tar.* - package contentsWhen signed, debsign adds a _gpgorigin file containing a detached GPG signature of the checksums (MD5, SHA1, SHA256) of all archive members.
Building from source requires the following:
sudo apt install pkg-config nettle-dev clang llvm
sudo pacman -S pkg-config nettle clang --needed
sudo dnf install pkg-config nettle-devel clang
brew install pkg-config nettle llvm
MIT OR Apache-2.0