[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
세 단계로 수행 할 수 있습니다.
-
공개 키 ID 찾기 :
$ gpg gcc-4.7.2.tar.gz.sig gpg : Signature made Čt 20. září 2012, 12:30:44 CEST DSA 키 ID 사용 C3C45C06 gpg : 서명을 확인할 수 없음 : 공개 키 없음
-
키 서버에서 공개 키를 가져옵니다. 일반적으로 키 서버를 선택할 필요는 없지만
--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}
-
서명 확인 :
$ 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 ) 를 확인하는 데 특히 유용 합니다.
또한 위 파일의 분리 된 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이고 유효해야합니다. 그래도 그의 공개 키를 어디서 얻을 수 있는지 모르겠습니다.