ダウンロードしたファイルを.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

3つのステップで行うことができます。

  1. 公開鍵IDを見つける:

    $ gpg gcc-4.7.2.tar.gz.sig gpg:署名が作成されましたČt20.září2012、12:30:44DSAキーIDを使用したCESTC3C45C06 gpg:署名を確認できません:公開キーがありません

  2. キーサーバーから公開キーをインポートします。通常、キーサーバーを選択する必要はありませんが、を使用して選択できます--keyserver <server>キーサーバーの例。

    $ gpg --recv-key C3C45C06 gpg:hkpサーバーkeys.gnupg.netからキーC3C45C06を要求していますgpg:キーC3C45C06:公開キー "Jakub Jelinek jakub@redhat.com"インポートされたgpg:最終的に信頼できるキーが見つかりませんgpg:処理された総数:1 gpg:インポート:1

コマンドエラーがタイムアウトで発生した場合は、デフォルトのgpgポートをブロックしているファイアウォールの背後にいる可能性があります。ポート80で `--keyserver 'オプションを使用してみてください(ほとんどすべてのファイアウォールでポート80 b / cのWebブラウジングが許可されています)。

$ gpg --keyserver hkp://${HOSTNAME}:80 --recv-keys ${KEY_ID}
  1. 署名の確認:

    $ gpg gcc-4.7.2.tar.gz.sig gpg:署名はČt20で作成されました。září2012、12:30:44DSAキーIDを使用したCESTC3C45C06 gpg:「JakubJelinekjakub@redhat.com」からの良好な署名[不明] gpg:警告:このキーは信頼できる署名で認定されていません!gpg:署名が所有者に属していることを示すものはありません。主キーの指紋:33C2 35A3 4C46 AA3F FB29 3709 A328 C3A2 C3C4 5C06

出力には「Goodsignature」と表示されます。


gpg:警告:この鍵は信頼できる署名で認定されていません!

別の質問です;)


8
素晴らしいステップバイステップの説明!
マシュークラウス2015年

4
検証が必要なファイルがgnupg(問題ではない)の場合、SHA-1チェックサムはgnupgサイトで最初のgnupgダウンロードを検証するために利用できます。
10 cls 2016年

署名の検証中に、gpgはtarballファイルとそれに対応する.sigファイルを1つの単位として処理します。tarballが見つからないか名前が変更された場合、gpgはtarball名を指定する機会を提供します。
Andrew P.

私はRSAキーを取得しましたが--keyserver、そのリストがないと機能しません。取得できるのは1つだけですが、信頼されていないようですGNU coreutils。広く使用されているパッケージで試してみているので奇妙です。
user10089632 2018

また、gpgが「コマンドが提供されていません。意味を推測します」と警告する場合は、gpg --verify gcc-4.7.2.tar.gz.sig代わりに使用してください。
xdavidliu

24

この他の方法は、GNUプロジェクトの検証に特に役立ちます(例:Octave)のます。これは、署名によって要求されたキーがどのキーサーバーにも見つからない可能性があるためです。

http://ftp.gnu.org/READMEから

上記のファイルの切り離されたGPG署名を含む.sigファイルもあり、それらを生成するのと同じスクリプトによって自動的に署名されます。

gnuプロジェクトファイルの署名は、次のキーリングファイルで確認できます。

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

確認する鍵リング・ファイル、ソース・ファイルと署名ファイルのディレクトリ、使用するコマンドがあります。

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


3
ただし、セキュリティについて話している場合は、HTTPS接続を使用することをお勧めします:https
Maxim

3
おかしい、私はオクターブを検証する方法を理解するためにここに明示的にいます!:)
私たちは皆モニカです

ありがとう。どのキーサーバーでもBashメンテナーのキーが見つかりませんでしたが、これがソースコードの署名を検証するために必要なものでした。
AnthonyGeoghegan19年

1
:オクターブのためにここにアプリをgpg4winについての回答を参照してくださいsuperuser.com/questions/1268544/...
マーティン

1

公開キーサーバーで指定されたキーIDを検索するID C3C45C06 必要があります。この場合、見つかったキーをローカルキーストアにインポートします。その後、検証はOKになります。私はUbuntu12.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.