我想以编程方式确定谁签署了 GPG 明文签名文件。跑步gpg --verify会告诉我这一点,但它以人类可读的格式进行。是否有可能以机器可读的格式获得这个结果?
我不是在寻找解析人类可读格式的方法,因为它可能会在未来的 GPG 版本中发生变化。我需要一个强大的解决方案。
use*_*686 11
为此,GnuPG 具有机器可读的--status-fd格式:
^ gpg --status-fd=1 --verify test.asc
gpg: Signature made Sat 01 Feb 2014 19:37:53 EET using RSA key ID C1B52632
[GNUPG:] SIG_ID LI0kgmtHFCacIrSKM9uxpc3B2jI 2014-02-01 1391276273
[GNUPG:] GOODSIG D24F6CB2C1B52632 Mantas Mikul?nas <grawity@nullroute.eu.org>
gpg: Good signature from "Mantas Mikul?nas <grawity@nullroute.eu.org>"
gpg: aka "Mantas Mikul?nas <grawity@gmail.com>"
[GNUPG:] NOTATION_NAME issuer-fpr@notations.openpgp.fifthhorseman.net
[GNUPG:] NOTATION_DATA 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632
[GNUPG:] VALIDSIG 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632 2014-02-01 1391276273 0 4 0 1 2 00 2357E10CEF4F7ED27E233AD5D24F6CB2C1B52632
[GNUPG:] TRUST_ULTIMATE
Run Code Online (Sandbox Code Playgroud)
输出格式记录在doc/DETAILS 中。(这些消息与人类可读的消息混合在一起,因为我指向gpg了 fd #1,又名 stdout。为此,程序可以轻松地使用两个单独的 fd,例如使用pipe().)
| 归档时间: |
|
| 查看次数: |
867 次 |
| 最近记录: |