我需要从 GPG 获取公钥 ID。SO 上的所有内容都讨论了导入、导出等。在下面的示例中,我需要获取要ABCD1234在 bash 脚本中使用的值?
$ gpg --list-keys
/Users/jblow/.gnupg/pubring.gpg
---------------------------------
pub 2048R/ABCD1234 2016-09-20
uid [ultimate] Joe Blow <joe.blow@nowhere.com>
sub 2048R/JDKKHU76 2016-09-20
Run Code Online (Sandbox Code Playgroud)
我今天面临着同样的要求(提取密钥 ID 以便将其与 bash 脚本中的口是心非一起使用)。
在 gpg 的手册页中我读到:
对于gpg 的脚本化或其他无人值守使用,请确保使用机器可解析的接口,而不是供人类直接使用的默认接口。机器可解析的接口提供了一个稳定且记录良好的 API,独立于 gpg 的语言环境或未来的变化。要启用此界面,请使用选项--with-colons和 --status-fd。对于某些操作,选项 --command-fd 也可能会派上用场。有关接口的规范,请参阅本手册页和文件“DETAILS”。
我通过执行以下操作成功提取了我想要的密钥 ID:
gpg --list-signatures --with-colons | grep 'sig' | grep 'the Name-Real of my key' | head -n 1 | cut -d':' -f5
Run Code Online (Sandbox Code Playgroud)
PS:https: //devhints.io/gnupg有帮助;)
| 归档时间: |
|
| 查看次数: |
11297 次 |
| 最近记录: |