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


85

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파일로 어떻게 확인할 수 있습니까?

답변:


98

공개 키를 가져와야합니다. 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 : 경고 :이 키는 신뢰할 수있는 서명으로 인증되지 않았습니다!

다른 질문입니다;)


8
훌륭한 단계별 설명!
Matthew Kraus

4
확인이 필요한 파일이 gnupg (질문이 아님) 인 경우, gnupg 사이트에서 첫 번째 gnupg 다운로드를 확인하기 위해 SHA-1 체크섬을 사용할 수 있습니다.
10 cls

서명 확인 중에 gpg는 tarball 파일과 해당 .sig 파일을 하나의 단위로 처리합니다. tarball이 없거나 이름이 변경된 경우 gpg는 tarball 이름을 지정할 수있는 기회를 제공합니다.
Andrew P.

나는 RSA 키를 얻었고 --keyserver그 목록 없이 또는 목록에서 작동하지 않습니다 . 단 하나만 가져 왔지만 신뢰할 수없는 것 같습니다 GNU coreutils. 널리 사용되는 패키지를 시도하고 있기 때문에 이상 합니다.
user10089632 2018

또한 gpg가 "제공된 명령 없음, 의미 추측"이라고 경고하면 gpg --verify gcc-4.7.2.tar.gz.sig대신 사용하십시오.
xdavidliu

23

이 다른 방법은 서명에 의해 요청 된 키가 어떤 키 서버에서도 발견되지 않을 수 있기 때문에 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


3
그러나 보안에 대해 이야기하고 있다면 HTTPS 연결을 사용하는 것이 좋습니다. https://ftp.gnu.org/gnu/gnu-keyring.gpg
Maxim

3
재미 있네요. 저는 옥타브의 유효성을 검사하는 방법을 명확히 이해하기 위해 여기에 왔습니다! :)
론 젠슨 - 우리는 모니카 있습니다

감사. 어떤 키 서버에서도 Bash 관리자의 키를 찾을 수 없었지만 이것이 소스 코드의 서명을 확인하는 데 필요했습니다.
Anthony Geoghegan

1
옥타브의 경우 여기 gpg4win 앱에 대한 답변을 참조하십시오 : superuser.com/questions/1268544/…
Martin

1

주어진 키 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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.