我试图在CentOS 5.5上签署Java JDK 1.6u21 64位RPM,用于Spacewalk,我遇到了问题。 这似乎签署好,但是当我检查签名似乎是缺less我刚刚用来签署的关键。 然而,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
然而,我有密钥input(编辑为隐私):
# 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,除非我完全禁用签名检查。 我试过这两个不同的键和两个不同的用户在同一台机器上没有任何成功。
任何明智的想法?
您的checksig输出是正确的,因为它显示您的公钥ID。
你是在两台机器之间还是在一台机器上做这个?
在RHEL / CentOS 5中有一个已知的大RPMs的bug,导致GPG sig在某些大的RPM上总是失败。