web-dev-qa-db-ja.com

CentOS yumリポジトリのヘッダーV4 RSA / SHA1署名が不正です

私はこれで立ち往生するために多くの問題に対処していました。

サーバー(CentOS 5.6)にyumリポジトリをインストールしました。

createrepo -v -s sha yumrepo/

shaは、私が見つけた以前の問題の解決策のために使用されています。私の返信は受け入れられませんでした。 ([Errno -3] Error performing checksum

生成されたgpgキー:

gpg --gen-key

(パッケージはサーバーで作成されませんでした)でパッケージに署名します:

rpm --addsign mypackage-1.0-1.i386.rpm  

適切に署名されたかどうかを確認します。

rpm -vv --checksig mypackage-1.0-1.i386.rpm 
D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key
D: couldn't find any keys in /var/lib/rpm/pubkeys/*.key
D: loading keyring from rpmdb
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: opening  db index       /var/lib/rpm/Name rdonly mode=0x0
D:  read h#     205 Header sanity check: OK
D: added key gpg-pubkey-c105b9de-4e0fd3a3 to keyring
D:  read h#     313 Header sanity check: OK
D: added key gpg-pubkey-ebb3d90e-4ee5e6e8 to keyring
D: Using legacy gpg-pubkey(s) from rpmdb
D: Expected size:         3126 = lead(96)+sigs(528)+pad(0)+data(2502)
D:   Actual size:         3126
mypackage-1.0-1.i386.rpm:
    Header V4 RSA/SHA1 Signature, key ID ebb3d90e: OK
    Header SHA1 digest: OK (6d131be3c792fcc99da662f432c33facc86efc56)
    V4 RSA/SHA1 Signature, key ID ebb3d90e: OK
    MD5 digest: OK (76cfe98c4128d45da894a2b5b970e703)
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages

そして私の公開鍵を次のようにエクスポートしました:

gpg --armor --output MY-GPG-KEY --export 'MYNAME'

クライアント(CentOS 5.6も)で、次の内容のファイル/etc/yum.repos.d/myrepo.repoを作成しました。

[myrepo]
name=myrepo
baseurl=https://login:[email protected]
enabled=1
gpgcheck=1
gpgkey=https://login:[email protected]/MY-GPG-KEY
protect=1

ルートとして私が実行したより:

yum clean all
yum install mypackage

エラーが発生します:

Downloading Packages:
mypackage-0.1-1.noarch.rpm                                | 3.0 kB     00:00     
error: rpmts_HdrFromFdno: Header V4 RSA/SHA1 signature: BAD, key ID ebb3d90e

その間:

rpm -q gpg-pubkey
gpg-pubkey-e8562897-459f07a4
gpg-pubkey-217521f6-45e8a532
gpg-pubkey-ebb3d90e-4ee5e6e8

パッケージを安全にインストールするにはどうすればよいですか?

6
user1101822

あなたの答えはこのページにあります: http://adminotes.blogspot.fr/2011/12/centos-6-rpm-sign-problem-v4-signatures.html

要約すると、Centos 6ではデフォルトでv4署名が使用されますが、Centos 5はv3のみをサポートします。

--force-v3-sigs%__gpg_sign_cmdフラグを追加すると機能します。

3
Raphaël Gertz

問題はgpgキーです。 bug があるため、壊れた署名が作成されます。 myrepo.repoを編集してgpgcheck=1を設定することをお勧めします。

1
Aditya Patawari

私はCentOS 6でも同じ問題に直面しました。ここにたどり着く私のような人々のために私の解決策を文書化すると思いました。

CentOS 6.0に古いバージョンのca-certificates vizのrpmがありました。 ca-certificates-2010.63-3.el6.noarch。

Yumを使用してrpmをインストールしているときに、以下のエラーが発生しました:エラー:rpmts_HdrFromFdno:ヘッダーV4 DSA/SHA256署名、キーID 35511c46:悪い

Rpmパッケージを稼働中のサーバーと比較し、コマンドの履歴を確認することで、問題を上記のパッケージに絞り込むことができました。

Yumを使用して最新バージョン(ca-certificates-2017.2.14-65.0.1.el6_9.noarch)とその依存関係をインストールした後、最初にインストールしようとしていたrpmをインストールできました。

補足として、ca-certificatesパッケージの更新中にnss-softtokenパッケージが更新されました。 https://www.centos.org/forums/viewtopic.php?t=50775 に記載されているように、それが問題を解決したかどうかはよくわかりません。

0
amolkul