关键详细信息列表中的 GPG 使用标志是如何定义的?

关键详细信息列表中的 GPG 使用标志是如何定义的?

当我列出密钥的详细信息时,我得到如下输出:

$ gpg --edit-key SOMEID
pub [..] created: [..] expires: [..]   usage:SC
[..]
sub [..] created: [..] expires: [..]   usage: E

或者甚至usage: SCA在另一个钥匙上(主钥匙部分)。

使用领域中的这些缩写是什么意思?

我可以得出:

S -> for signing
E -> for encrypting

但是 和CA

还有更多吗?

那么在哪里可以找到这样的东西呢?

答案1

好吧,gpg手册好像没有提到这些缩写。因此,必须要看源头。

例如在 Debian/Ubuntu 下:

$ apt-get source gnupg2
$ cd gnupg2-2.0.17
$ cscope -bR
$ grep 'usage: %' . -r --exclude '*po*'
$ vim g10/keyedit.c
jump to usage: %
jump to definition of `usagestr_from_pk`

从代码中可以得出下表:

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
不变的性格
────────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

因此,例如,usage: SCA意味着子密钥可用于签名、创建证书和身份验证目的。

答案2

列表的布局--edit-key没有记录(无论如何我都找不到)。然而,您提到的缩写位于信息页面 ( info gpg) 的某个位置。

我搜索了一下S:,发现我其实很想搜索usage:

在“GPG密钥相关选项”中:

4.2.1 如何更改配置

这些选项用于更改配置,通常可以在选项文件中找到。

'--list-options parameters'

 show-usage

      Show usage information for keys and subkeys in the standard
      key listing.  This is a list of letters indicating the allowed
      usage for a key ('E'=encryption, 'S'=signing,
      'C'=certification, 'A'=authentication).  Defaults to no.

所以,这样做gpg -k --list-options show-usage 1A3ABKEY会告诉你这样的事情:

pub   rsa4096/1A3ABKEY 2015-01-25 [SC]
uid         [ultimate] Some Key
sub   rsa4096/4B907KEY 2015-09-19 [S]
sub   rsa4096/F9A41KET 2015-09-19 [E]

更多信息请参阅“GPG 的无人值守使用”

密钥用法:用法列表

 Space or comma delimited list of key usages.  Allowed values are
 'encrypt', 'sign', and 'auth'.  This is used to generate the key
 flags.  Please make sure that the algorithm is capable of this
 usage.  Note that OpenPGP requires that all primary keys are
 capable of certification, so no matter what usage is given here,
 the 'cert' flag will be on.  If no 'Key-Usage' is specified and the
 'Key-Type' is not 'default', all allowed usages for that particular
 algorithm are used; if it is not given but 'default' is used the
 usage will be 'sign'.

因此,虽然不是立即显而易见,但该信息就在您系统上的某个地方。如果man没有帮助您,请尝试man -k和/或info

答案3

深埋在GnuPG 邮件列表...

“用法”右侧的字母是什么意思?
(S,C,A,E) 我只能猜测 |S|ign, |E|ncrypt, ....

(S)ign:签署一些数据(如文件)
(C)ertify:签署密钥(这称为认证)
(A)uthenticate:向计算机验证您自己的身份(例如登录)
(E)ncrypt:加密数据

答案4

另一个信息来源是细节文件在GnuPG 发行版

部分“领域 12 - 关键能力”状态

定义的能力是:

e
加密
s
符号
C
证明
A
验证
未知能力

密钥可以按任意顺序具有它们的任意组合。
除了这些字母之外,主键还有大写
字母的版本表示整个的可用功能
键,还有一个潜在的字母“D”来指示禁用的键。

相关内容