签署 JDK 1.6 64 位后出现 RPM 问题

签署 JDK 1.6 64 位后出现 RPM 问题

我正在尝试在 CentOS 5.5 上为 Spacewalk 签名 Java JDK 1.6u21 64 位 RPM,但遇到了问题。签名似乎没问题,但当我检查签名时,似乎缺少我刚刚用来签名的密钥。然而 RPM 在其列表中显示了密钥...

# rpm --addsign jdk-6u21-linux-amd64.rpm 
Enter pass phrase: 
Pass phrase is good.
jdk-6u21-linux-amd64.rpm:
gpg: WARNING: standard input reopened
gpg: WARNING: standard input reopened

# rpm --checksig -v jdk-6u21-linux-amd64.rpm 
    jdk-6u21-linux-amd64.rpm:
    Header V3 DSA signature: NOKEY, key ID ecfd98a5
    MD5 digest: OK (650e0961e20d4a44169b68e8f4a1691b)
    V3 DSA signature: OK, key ID ecfd98a5

但我已经导入了密钥(为了保护隐私进行了编辑):

# rpm -qa gpg-pubkey* |grep ecfd98a5
gpg-pubkey-ecfd98a5-4caa4a4c
# rpm -qi gpg-pubkey-ecfd98a5-4caa4a4c
Name        : gpg-pubkey                   Relocations: (not relocatable)
Version     : ecfd98a5                          Vendor: (none)
Release     : 4caa4a4c                      Build Date: Mon 04 Oct 2010 10:20:49 PM CDT
Install Date: Mon 04 Oct 2010 10:20:49 PM CDT      Build Host: localhost
Group       : Public Keys                   Source RPM: (none)
Size        : 0                                License: pubkey
Signature   : (none)
Summary     : gpg(FirstName LastName <[email protected]>)
Description :
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: rpm-4.4.2.3 (NSS-3)
...key goes here...
=gKjN-----END PGP PUBLIC KEY BLOCK-----

我确实运行的是 64 位版本的 CentOS:

# uname -a
Linux spacewalk.mycompany.corp 2.6.18-194.11.4.el5 #1 SMP Tue Sep 21 05:04:09 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

如果没有有效签名,Spacewalk 会拒绝安装 RPM,除非我完全禁用签名检查。我在同一台机器上用两个不同的密钥和两个不同的用户尝试过,但都没有成功。

有什么好主意吗?

答案1

您的 testsig 输出是正确的,因为它显示了您的公钥 ID。

您是在两台机器之间进行此操作还是全部在一台机器上进行?

答案2

RHEL/CentOS 5 中的大型 RPM 存在一个已知错误,该错误导致某些大型 RPM 的 GPG 签名始终失败。

相关内容