Error: "RPM has invalid signature" when updating through Yast

(Last modified: 16Sep2005)

This document (10098176) is provided subject to the disclaimer at the end of this document.

fact

SUSE LINUX Professional 9.3

Novell SLES 9

symptom

Error: "RPM has invalid signature" when updating through Yast

Error(You:RPM has invalid signature)

fix

Analyzing the cause (RPM version 4)

The RPM system should know about the keys that Novell/SUSE uses to sign SUSE RPM package files. This can be checked by studying the output of the command

    rpm -qa 'gpg-pubkey*' | sort

For SLES9, the output should be:

    gpg-pubkey-3d25d3d9-36e12d04
    gpg-pubkey-9c800aca-40d8063e

With SUSE 9.3, the output has one more key:

    gpg-pubkey-0dfb3188-41ed929b
    gpg-pubkey-3d25d3d9-36e12d04
    gpg-pubkey-9c800aca-40d8063e

When the RPM system is not in working order, it will produce a different output which may even be empty.

Solution (RPM version 4)

Re-import the Novell/SUSE public keys from trusted media as follows:

    * Mount the first CD of your installation media under /mnt.
    * Run the command

          rpm --import /mnt/gpg-pubkey-3d25d3d9-36e12d04.asc

    * Run the command

          rpm --import /mnt/gpg-pubkey-9c800aca-39eef481.asc

    * If /mnt/gpg-pubkey-0dfb3188-41ed929b.asc exists, run the command

          rpm --import /mnt/gpg-pubkey-0dfb3188-41ed929b.asc

    * Check that RPM has imported the keys correctly by running

          rpm -qa 'gpg-pubkey*' | sort

      and checking that its output now is equal to the expected output as described above.
    * If the rpm line did not produce this output (e.g. its output is empty) please run the command

          rpm --rebuilddb

      and then repeat the key import procedure (rpm --import ..) and recheck.

 

cause

The most common cause for problems related to RPM signatures is a corrupted download. A corrupted download itself has a number of possible causes, like a simple transmission error or a content-altering proxy (e.g. anti-virus software mistaking an RPM for an infected file). This article is not concerned with that case. We assume that you have already ruled out a corrupted download.

In this case, there is a cause that lies deeper: the RPM package management system may have forgotten which public keys are to be trusted for package signatures.

note

Background: package signatures

The RPM package management system, as used in SUSE LINUX, uses digital signatures [wikipedia] implemented by the GNU Privacy Guard [wikipedia] to ensure that an RPM package file was produced by a trusted source (Novell/SUSE) and that it has not been tampered with (either accidentally, e.g. through data corruption during download or deliberately by a malevolent party).

For more background on the RPM package managment system and its use of digital signatures we recommend the book Maximum RPM.

document

Document Title: Error: "RPM has invalid signature" when updating through Yast
Document ID: 10098176
Solution ID: NOVL102605
Creation Date: 01Jul2005
Modified Date: 16Sep2005
Novell Product Class:Linux

disclaimer

The Origin of this information may be internal or external to Novell. Novell makes all reasonable efforts to verify this information. However, the information provided in this document is for your information only. Novell makes no explicit or implied claims to the validity of this information.
Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information.