Я пытаюсь проверить подпись PGP последней версии установочного файла KeePass 2.14 по этой подписи, но я получаю вывод:
C:\Program Files (x86)\GNU\GnuPG>gpg.exe --verify C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: no valid OpenPGP data found.
gpg: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.
C:\Program Files (x86)\GNU\GnuPG>
Я нашел эту команду здесь, но она не упоминала о файлах ".sig" или ".asc", поэтому решил, что сделал что-то не так. Читая справочные страницы, я также попробовал следующее:
C:\Program Files (x86)\GNU\GnuPG>gpg.exe --pgpfile C:\Users\User\Desktop\KeePass-2.14-Setup.exe
gpg: Invalid option "--pgpfile"
C:\Program Files (x86)\GNU\GnuPG>
Как видите, результаты довольно запутанные ...
Я взглянул на это в SuperUser, но ни одна из ссылок, похоже, не отвечала на мой вопрос, по крайней мере, не настолько, чтобы я мог понять, как двигаться дальше в этом вопросе.
Может ли кто-нибудь здесь помочь мне с эзотерической технической спецификой OpenPGP и связанным с этим использованием программы GnuPG? Я чувствовал себя довольно глупо, изучая VBS, но это не просто унизительно: это абсолютно изнурительно и подрывает всю мою уверенность в своих навыках в области ИТ (опять же, у меня нет никаких оснований для того, чтобы хвастаться, так как я еще не получил свой + Cert, LOL).
ОБНОВЛЕНИЕ 04-04-2011
Итак, я устал от дурачения с Windows и решил, что сделаю это правильно, загрузив Ubuntu; одно это сделало вещи намного более логичными!
Итак, вот мой список команд и где я нахожусь:
proto@type:~$ cd Desktop/
proto@type:~/Desktop$ gpg --import KeePass-2.14-Setup.exe.asc gpg: no valid OpenPGP data found. gpg: Total number processed: 0
proto@type:~/Desktop$ gpg --import Dominik_Reichl.asc gpg: /home/proto/.gnupg/trustdb.gpg: trustdb created gpg: key FEB7C7BC: public key "Dominik Reichl " imported gpg: Total number processed: 1 gpg: imported: 1
proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe gpg: no valid OpenPGP data found. gpg: the signature could not be verified. Please remember that the signature file (.sig or .asc) should be the first file given on the command line.
proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc gpg: Signature made Sun 02 Jan 2011 05:25:24 AM MST using DSA key ID FEB7C7BC gpg: Good signature from "Dominik Reichl " 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: 2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC
proto@type:~/Desktop$ gpg --verify Dominik_Reichl.asc gpg: verify signatures failed: unexpected data
Как и велел Майк, я поместил файлы «.exe» и «.asc» в тот же каталог, где находится «Рабочий стол». Как вы можете видеть в коде, я также поместил открытый ключ "Dominik_Reichl.asc" в каталог Desktop.
Пожалуйста, будьте терпеливы со мной, так как я был полностью испорчен MD5; Я предполагаю, что Шаг 5 сверху - это GPG, эквивалентный следующему:
C:\Users\user\>CD Desktop
C:\Users\user\Desktop>MD5Sum KeePass-2.14-Setup.exe
bae59065b24f0a6f2ed4bb9e0d6fc65f *KeePass-2.14-Setup.exe
Я говорю об этом, потому что поведение меняется, когда я перемещаю файл «KeePass-2.14-Setup.exe» в папку "temp" на рабочем столе. Когда я запускаю команду, это результат, который я получаю:
proto@type:~/Desktop$ gpg --verify KeePass-2.14-Setup.exe.asc
gpg: no signed data
gpg: can't hash datafile: file open error
Эти результаты привели меня к мысли, что я должен извлечь "идентификатор ключа DSA" и "отпечаток первичного ключа" из шага 5 и сравнить их со значениями в верхней части страницы подписи. Итак, где же сходство с проверкой MD5? Это все, что нужно? Или есть еще один шаг? Есть ли команда, которую я использую для проверки этих двух строк? Это те строки, которые мне действительно нужно проверить? Что это за строки?
Теперь есть еще одна проблема, с которой мне приходится сталкиваться. В результатах "Отпечаток первичного ключа" у меня есть 2 пробела между "8065" и "5626". Когда я использую электронную таблицу для проверки результатов со строкой на странице подписи, я получаю результат "ЛОЖЬ" из-за лишних пробелов в моих результатах. Я проверил источник страницы подписи, чтобы убедиться, что браузер игнорирует лишние пробелы, но это не так.
2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC # From Source of Signature Page
2171 BEEA D0DD 92A1 8065 5626 DCCA A5B3 FEB7 C7BC # From My Results
Пока я удаляю этот лишний пробел, мои результаты совпадают с результатами со страницы подписи, но разве они не должны совпадать без какого-либо вмешательства с моей стороны? Должна ли разница в пробелах вызывать тревогу?
К сожалению, страницы руководства GPG для меня все еще неясны, или, как некоторые могут назвать это "враждебным по отношению к пользователю" (поиск "user hostile gpg"), поэтому мне понадобится пара дополнительных морковок. Я признаю это: я тупой. На самом деле, когда я все еще учился использовать проверку MD5, я с ней почти так же, как и с ней, боролся с ней.