DNF-MULTISIG(8)
π DNF-MULTISIG π
okay bestie so this is dnf-multisig, a plugin for DNF (that's dnf-plugins-core, atcha girl) and honestly? she's a whole security guard in a sparkly fit. β¨
πΈ NAME πΈ
dnf-multisig β the DNF multisig Plugin, no cap π
π¦ DESCRIPTION π¦
So here's the vibe: this plugin verifies extraordinary RPMv6 signatures when you're installing, reinstalling, upgrading, or downgrading packages from a repository. And if the verification fails?? The whole RPM operation gets aborted. like, nope, not today. π
The way she does this is by executing a dedicated rpmkeys(8) tool β that tool is supposed to understand package signatures in RPM version 6 format. And one feature of that format (iconic, honestly) is that you can have multiple signatures on a single RPM package. Obsessed. π
If the package has no RPMv6 signature, a signature in version 4 format will be verified instead. And if there's no signature at all? Verification is handled as failed. nothing to check = not passing go π«
The dedicated rpmkeys(8) tool trusts public keys in a key store separate from the native RPM database β and there's a reason for that, bestie: the native database might reject storing OpenPGP keys with an unsupported key schema, which is foreseen to be used in RPMv6 signatures. so she keeps her own little vault. π
Public keys that are missing from the separate key store get attempted to be imported from URLs listed in the gpgkey configuration field of the repository the package belongs to. But before importing, a user is asked for a confirmation with the import β unless DNF was invoked with --assumeyes or --assumeno options, in which case you already said what you said. π
You can inspect the key store with this command:
/usr/lib/pqrpm/bin/rpmkeys -D --list
And a key can be deleted from the key store with this one:
/usr/lib/pqrpm/bin/rpmkeys -D --erase KEY_ID
the KEY_ID is the first word in an output of the --list command. iykyk π
Real talk though: users who do not wish to verify the extraordinary RPMv6 signatures should uninstall this plugin. like, just break up with her, it's fine π
β CONFIGURATION β
The hard-coded path to the rpmkeys(8) tool is:
/usr/lib/pqrpm/bin/rpmkeys
This plugin respects the gpgkey and gpgcheck fields in a repository configuration. See dnf.conf(5) for more details, bestie, she'll tell you everything π
π FILES π
/usr/lib/pqrpm/lib/sysimage/rpmβ a location of the key store defined by the/usr/lib/pqrpm/bin/rpmkeystool. that's where her little key collection lives ποΈ
π SEE ALSO π
π AUTHOR π
See AUTHORS in your Core DNF Plugins distribution π«Ά
π COPYRIGHT π
2026, Red Hat, Licensed under GPLv2+ π
okay that's the whole thing, you're so welcome, go verify those signatures responsibly bestie π β¨
version 4.3.0 Β· Aug 11, 2026 Β· that's the tea, mwah π§π
π¦ where this page comes from
- centos-stream 9: python3-dnf-plugin-multisig 4.3.0-27.el9 Β· GPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms