[shell] .sig 파일로 다운로드 한 파일을 확인하는 방법은 무엇입니까?

GCC를 다운 받으면 .sig파일 도 있는데 다운로드 한 파일을 확인하기 위해 제공되는 것 같아요. ( 여기 에서 GCC를 다운로드 했습니다 ).

하지만 어떻게 사용해야할지 모르겠어요. 나는 시도 gpg했지만 공개 키에 대해 불평합니다.

[root@localhost src]# gpg --verify gcc-4.7.2.tar.gz.sig gcc-4.7.2.tar.gz
gpg: Signature made Thu 20 Sep 2012 07:30:44 PM KST using DSA key ID C3C45C06
gpg: Can't check signature: No public key
[root@localhost src]#

다운로드 한 파일을 .sig파일로 어떻게 확인할 수 있습니까?



답변

공개 키를 가져와야합니다. C3C45C06

세 단계로 수행 할 수 있습니다.

  1. 공개 키 ID 찾기 :

    $ gpg gcc-4.7.2.tar.gz.sig gpg : Signature made Čt 20. září 2012, 12:30:44 CEST DSA 키 ID 사용 C3C45C06 gpg : 서명을 확인할 수 없음 : 공개 키 없음

  2. 키 서버에서 공개 키를 가져옵니다. 일반적으로 키 서버를 선택할 필요는 없지만 --keyserver <server>. 키 서버 예.

    $ gpg –recv-key C3C45C06 gpg : hkp 서버에서 키 C3C45C06 요청 keys.gnupg.net gpg : 키 C3C45C06 : 공개 키 “Jakub Jelinek jakub@redhat.com”가져온 gpg : 궁극적으로 신뢰할 수있는 키를 찾을 수 없음 gpg : 처리 된 총 수 : 1 gpg : 수입 : 1

명령 오류가 시간 초과와 함께 종료되면 기본 gpg 포트를 차단하는 방화벽 뒤에있을 수 있습니다. 포트 80과 함께`–keyserver ‘옵션을 사용해보십시오 (거의 모든 방화벽은 웹 브라우징의 포트 80 b / c를 허용합니다) :

$ gpg --keyserver hkp://${HOSTNAME}:80 --recv-keys ${KEY_ID}
  1. 서명 확인 :

    $ gpg gcc-4.7.2.tar.gz.sig gpg : Signature made Čt 20. září 2012, 12:30:44 CEST DSA 키 ID C3C45C06 gpg : “Jakub Jelinek jakub@redhat.com”의 좋은 서명 [알 수 없음 ] gpg : 경고 :이 키는 신뢰할 수있는 서명으로 인증되지 않았습니다! gpg : 서명이 소유자의 것이라는 표시가 없습니다. 기본 키 지문 : 33C2 35A3 4C46 AA3F FB29 3709 A328 C3A2 C3C4 5C06

출력에 “Good signature”가 표시되어야합니다.


gpg : 경고 :이 키는 신뢰할 수있는 서명으로 인증되지 않았습니다!

다른 질문입니다;)


답변

이 다른 방법은 서명에 의해 요청 된 키가 어떤 키 서버에서도 발견되지 않을 수 있기 때문에 GNU 프로젝트 (예 : Octave ) 를 확인하는 데 특히 유용 합니다.

에서 http://ftp.gnu.org/README

또한 위 파일의 분리 된 GPG 서명을 포함하는 .sig 파일도 있으며,이를 생성하는 동일한 스크립트에 의해 자동으로 서명됩니다.

다음 위치 에서 키링 파일을 사용하여 gnu 프로젝트 파일서명을 확인할 수 있습니다 .

https://ftp.gnu.org/gnu/gnu-keyring.gpg

A의 확인 키 링 파일, 소스 파일 및 서명 파일과 디렉토리 , 사용하는 명령은 다음과 같습니다

$ gpg --verify --keyring ./gnu-keyring.gpg foo.tar.xz.sig


답변

주어진 키 ID에 대해 공개 키 서버를 검색해야합니다. 귀하의 경우 ID C3C45C06
로컬 키 저장소에서 찾은 키를 가져 오면 확인이 완료됩니다. 저는 Ubuntu 12.04를 사용하며 Seahorse 키 관리 소프트웨어와 함께 제공됩니다. 키 가져 오기 전에 나는 이것을 보았습니다.

~/Downloads$ gpg --verify --keyring ./gnu-keyring.gpg icecat-31.5.0.en-US.linux-x86_64.tar.bz2.sig icecat-31.5.0.en-US.linux-x86_64.tar.bz2
gpg: Signature made  9.03.2015 (пн) 22,35,52 EET using RSA key ID D7E04784
gpg: Can't check signature: public key not found

키 가져 오기 후 나는 이것을 보았다 :

~/Downloads$ gpg --verify --keyring ./gnu-keyring.gpg icecat-31.5.0.en-US.linux-x86_64.tar.bz2.sig icecat-31.5.0.en-US.linux-x86_64.tar.bz2
gpg: Signature made  9.03.2015 (пн) 22,35,52 EET using RSA key ID D7E04784
gpg: Good signature from "Ruben Rodriguez (GNU IceCat releases key) <ruben@gnu.org>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: A573 69A8 BABC 2542 B5A0  368C 3C76 EED7 D7E0 4784


답변

http://gcc.gnu.org/mirrors.html 에 따르면 Jakub Jelinek이고 유효해야합니다. 그래도 그의 공개 키를 어디서 얻을 수 있는지 모르겠습니다.


답변