rpm -Kv
실험 패키지 중 하나에서 다음과 같은 결과를 얻었습니다.
clime@coprbox ~/v4tests $ rpm -Kv signed10.rpm
signed10.rpm:
Header V3 RSA/SHA1 Signature, key ID f67e1676: NOKEY
Header SHA1 digest: OK (6289e7d8d0a73be107945df48cefb762a5036eb1)
V3 RSA/SHA1 Signature, key ID f67e1676: BAD
MD5 digest: OK (3c8cafddad94a1e75adf52c59203cd3a)
이제 "서명"을 언급하는 두 줄이 있습니다.
Header V3 RSA/SHA1 Signature, key ID f67e1676: NOKEY
V3 RSA/SHA1 Signature, key ID f67e1676: BAD
첫 번째 줄은 무엇을 의미하고 두 번째 줄은 무엇을 의미하나요?
답변1
에서: http://www.rpm.org/max-rpm/s1-rpm-checksig-using-rpm-k.html
md5 메시지는 패키지 파일에 포함되어 있고 패키지를 빌드할 때 계산된 체크섬이 확인 중에 RPM으로 계산된 체크섬과 일치함을 나타냅니다. 두 체크섬이 모두 일치하므로 패키지가 수정되었을 가능성은 없습니다.
따라서 서명은 하나이지만 (귀하의 경우) 다이제스트(체크섬)는 두 개입니다.
첫 번째 줄은 gpg를 가져오지 않았음을 의미합니다.
두 번째 줄은 서명이 유효하지 않음을 나타냅니다.
답변2
나는 모든 rpm 파일에 실제로 두 개의 서명이 있다는 것을 발견했습니다. 하나는 서명 헤더만 있고, 두 번째 서명 헤더 + 페이로드 데이터입니다. 말씀하신 대로 두 개의 다이제스트도 있습니다. 하나는 헤더+페이로드의 md5이고 두 번째(sha1)는 헤더에만 있습니다.