GnuPG 子密钥可以用三种功能进行标记:签名、加密和认证。
虽然前两个操作被广泛使用和记录,但身份验证操作却有些神秘。您只能使用以下选项编辑主键来创建此类密钥--expert
:
$ gpg --expert --edit-key 889C36B7
gpg (GnuPG/MacGPG2) 2.0.17; Copyright (C) 2011 Free Software Foundation, Inc.
gpg> addkey
...
Possible actions for a RSA key: Sign Encrypt Authenticate
Current allowed actions: Sign Encrypt
(S) Toggle the sign capability
(E) Toggle the encrypt capability
(A) Toggle the authenticate capability
(Q) Finished
...
有传言称 GPG 密钥可用于进行 SSH 身份验证,但我还没有读过或找到让它工作的方法。还有几个未解答的问题涉及[GPG]和[SSH]相互作用:
除此之外,我找不到“身份验证”子键的其他用途。
答案1
OpenPGP 密钥可用于各种协议中的身份验证:
SSH,作为裸 ssh-rsa 密钥(
monkeysphere subkey-to-ssh-agent
或智能卡)SSH,作为pgp-签名-rsa证书(我不知道具体实现)
TLS 根据RFC 5081(由 GnuTLS 支持)
当然,还有不太知名的协议和软件,比如 gpgauth.org、Enigform 等;它们做找到合适的“身份验证”标志。