Подтвердить что ты не робот

Как проверить загруженный файл с .sig файлом?

Когда я загружаю GCC, у него также есть файл .sig, и я думаю, что он предоставляется для проверки загруженного файла. (Я загрузил GCC из здесь).

Но я не могу понять, как его использовать. Я пробовал gpg, но он жалуется на открытый ключ.

[[email protected] 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
[[email protected] src]# 

Как проверить загруженный файл с .sig файлом?

4b9b3361

Ответ 1

Вам нужно импортировать открытый ключ: C3C45C06

Можно выполнить в три этапа.

1) найти идентификатор открытого ключа:

$ gpg gcc-4.7.2.tar.gz.sig 
gpg: Signature made Čt 20. září 2012, 12:30:44 CEST using DSA key ID C3C45C06
gpg: Can't check signature: No public key

2) импортировать открытый ключ с сервера ключей. Обычно не нужно выбирать сервер ключей, но это можно сделать с помощью --keyserver <server>. Примеры ключей.

$ gpg --recv-key C3C45C06
gpg: requesting key C3C45C06 from hkp server keys.gnupg.net
gpg: key C3C45C06: public key "Jakub Jelinek <[email protected]>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

3) проверить подпись:

$ gpg gcc-4.7.2.tar.gz.sig 
gpg: Signature made Čt 20. září 2012, 12:30:44 CEST using DSA key ID C3C45C06
gpg: Good signature from "Jakub Jelinek <[email protected]>" [unknown]
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: 33C2 35A3 4C46 AA3F FB29  3709 A328 C3A2 C3C4 5C06

На выходе должно быть указано "Хорошая подпись".


gpg: ПРЕДУПРЕЖДЕНИЕ: этот ключ не сертифицирован с надежной подписью!

Это для другого вопроса;)

Ответ 2

Этот другой способ особенно полезен для проверки проектов GNU (например, Octave), поскольку ключ, запрошенный их сигнатурой, не может быть найден на любом ключевом сервере.

От http://ftp.gnu.org/README

Также есть .sig файлы, которые содержат отдельные GPG-подписи вышеуказанные файлы, автоматически подписанные тем же script, что генерирует их.

Вы можете проверить подписи для файлов проекта gnu с помощью ключа файл из:

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

В каталоге с файлом keyring исходный файл для проверки и файл подписи, команда:

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

Ответ 3

в соответствии с этим http://gcc.gnu.org/mirrors.html, который должен быть Jakub Jelinek и действителен. Я не знаю, где вы могли бы получить его открытый ключ.

Ответ 4

Вам нужно искать общедоступные ключи для данного идентификатора ключа: в вашем случае 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) <[email protected]>"
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