dnf自己署名パッケージのインストールエラー:GPGチェックに失敗しました

dnf自己署名パッケージのインストールエラー:GPGチェックに失敗しました

リポジトリとパッケージがあり、Fedora 39の対応するリポジトリからインストールしたいと思います。

このリポジトリはここで使用されます(テスト目的でバケット名ubuntuを無視してください。これにはrpmリポジトリが含まれています)。https://storage.googleapis.com/repotestubuntu2204作成してcreaterepo

パッケージは、生成されたキー(RSA 4096ビット、パスワードなし、有効期限なし)を介してsample_project-1.3.5-1.fc39.x86_64.rpmC hello worldによって署名されます。rpm --addsigngpg --gen-key

このリポジトリを追加

dnf config-manager --add-repo https://storage.googleapis.com/repotestubuntu2204/sample_project.repo
Adding repo from: https://storage.googleapis.com/repotestubuntu2204/sample_project.repo

問題ないようです。さて、パッケージをインストールしてみてください。

dnf install -yv sample_project
  ...
Using rpmkeys executable at /usr/bin/rpmkeys to verify signatures
Package sample_project-1.3.5-1.fc39.x86_64.rpm is not signed
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: GPG check FAILED

したがって、パッケージが署名されていないことを知らせ、それを確認するためにrpmkeyを使用しています。さて、rpm自体をダウンロードして署名を確認してください。

wget https://storage.googleapis.com/repotestubuntu2204/sample_project-1.3.5-1.fc39.x86_64.rpm

rpmkeys -Kv sample_project-1.3.5-1.fc39.x86_64.rpm 
sample_project-1.3.5-1.fc39.x86_64.rpm:
    Header SHA256 digest: OK
    Header SHA1 digest: OK
    Payload SHA256 digest: OK
    MD5 digest: OK

gpg importとrpm --importを試しましたが、役に立ちません。私が知る限り、b/cしてはいけません。 .repoファイルにgpgkeyへのリンクがあり、リポジトリを追加したときに正常にインポートされたようです。 。

同じプログラムを使用してopenSUSE用に構築されたrpmはうまく機能し、zypperはリポジトリを追加し、公開鍵を信頼する必要があります。それがすべてです。しかし、Fedoraはキーを信頼するかどうかを尋ねないので、やや受賞しました。ただし、キーファイルを手動でダウンロードしてインポートすることも役に立ちません。

yum installでも同じエラーが発生します。 rpm -iは問題なく動作します。署名に問題がありますか?

ベストアンサー1

調べました。 Fedoraのrpm署名のデバッグ中に署名コマンドを--showrc有効にするオプションを追加しましたが、rpm --showrc --verbose --addsign *.rpmヘッダーに署名していないことがわかりました。rpm --addsign *.rpm働く

おすすめ記事