.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.