Убедитесь, что файл, зашифрованный с помощью GPG, подписан определенным пользователем(ями)

Убедитесь, что файл, зашифрованный с помощью GPG, подписан определенным пользователем(ями)

У меня есть файл, зашифрованный и подписанный GPG.

встраница руководства для gpg, для --decryptопции, там написано:

Если расшифрованный файл подписан, подпись также проверяется.

Я хотел бы сделать больше, чем просто проверить действительность подписи, «если файл подписан», — я хотел бы:

  • Проверьте, что файлявляетсяподписано
  • Проверьте, принадлежит ли подпись конкретному пользователю или подгруппе пользователей в моей связке ключей.

Какую команду gpg можно использовать для этого?

решение1

--decryptБольшую часть этого опция уже делает .

$gpg --decrypt < test.gpg
gpg: зашифровано с помощью 4096-битного ключа RSA, идентификатор CE7B5510340F19EF, создано 31 октября 2009 г.
      "гравитация <[email protected]>"
WELL (или Whole Earth 'Electronic Link) — это пример новейшей разработки в области передовых технологий.
деревни, компьютерная доска объявлений. В таком маленьком городе Главная улица — это
центральный миникомпьютер, к которому (в случае WELL) подключено до 64 микрокомпьютеров
могут быть одновременно соединены телефонными линиями и маленькими мигающими коробочками, называемыми модемами.
gpg: Подпись сделана 2015-05-15T07:52:55 EEST
gpg: с использованием ключа RSA D24F6CB2C1B52632
gpg: Хорошая подпись от "grawity <[email protected]>" [окончательный]
gpg: также известный как "гравитация <[email protected]>" [окончательный]

Для машиночитаемой информации вы можете использовать--status-fd.

[GNUPG:] ENC_TO CE7B5510340F19EF 1 0
[GNUPG:] НАЧАЛО_РАСШИФРОВКИ
[GNUPG:] РАСШИФРОВКА_ИНФОРМАЦИИ 2 9
[GNUPG:] ОТКРЫТЫЙ ТЕКСТ 62 1431665575
[GNUPG:] НОВОСТИ
[GNUPG:] SIG_ID 8AaWsnfpINFLIVjEqk665x7fuKA 2015-05-15 1431665575
[GNUPG:] GOODSIG D24F6CB2C1B52632 плотность <[email protected]>
[GNUPG:] ИМЯ_НОТАЦИИ[email protected]
[GNUPG:] ДАННЫЕ_НОТАЦИИ 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632
[GNUPG:] VALIDSIG 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 2015-05-15 1431665575 0 4 0 1 10 00 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632
[GNUPG:] TRUST_ULTIMATE
[GNUPG:] DECRYPTION_OKAY
[GNUPG:] GOODMDC
[GNUPG:] END_DECRYPTION

Оба GOODSIGздесь VALIDSIGозначают, что подпись была проверена, и TRUST_*соответствуют уровням сертификации этого ключа. Например, ключи, которые вы подписали (или lsigned) напрямую, будут иметь TRUST_FULL.

Вы можете включить это в скрипт, который будет проверять отпечаток в VALIDSIG по белому списку ключей, или просто положиться на модель доверия ключей.

Обратите внимание, что выне могупроверьте, подписан ли файл, не расшифровывая его предварительно, поскольку PGP использует технологию «подписать перед шифрованием».

решение2

gpg --decrypt < data.pgp > /dev/null

В результате будет получен следующий результат:

gpg: encrypted with 4096-bit RSA key, ID B91FFCCDDEE362261A, created 2015-05-21
      "Shubham Chaudhary <[email protected]>"
gpg: Signature made Mon Aug 21 23:13:03 2017 IST
gpg:                using RSA key 71B6BEEFEED2DCA
gpg:                issuer "Shubham Chaudhary <[email protected]>"
gpg: Good signature from "Shubham Chaudhary <[email protected]>" [ultimate]

Связанный контент