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는 저장소를 추가하며 공개 키를 신뢰해야 합니다. 그게 전부입니다. 하지만 페도라는 키를 신뢰할지 여부를 묻지 않아 다소 수상쩍습니다. 그러나 키 파일을 수동으로 다운로드하고 가져오는 것도 도움이 되지 않습니다.

yum install에서도 같은 오류가 발생합니다. rpm -i는 문제 없이 작동합니다. 서명에 문제가 있나요?

답변1

알아 냈습니다. Fedora의 rpm 서명을 디버깅하는 동안 --showrc서명 명령이 가 되도록 옵션을 추가했는데 rpm --showrc --verbose --addsign *.rpm헤더에 서명하지 않은 것으로 나타났습니다. rpm --addsign *.rpm일하다

관련 정보