1

下面的键有效吗?

gpg --list-keys命令列出了没有标签/电子邮件的关键信息,我的意思是 UID:

/home/XXXXXX/.gnupg/pubring.gpg
--------------------------------
pub   2048R/3BAAF156 2016-04-05
uid

它是有效的密钥吗?消息人士称,他们正在使用 Oracle Fusion Middleware pgp 来生成密钥。

如何使用没有 UID 的密钥加密文件?

4

2 回答 2

3

RFC 4880,OpenPGP不要求密钥附加 UID。无论如何,您发布的输出看起来更像是密钥有一个的UID(在阅读第 5.11 节时不禁止。用户 ID 数据包(标签 13))。您可以让 GnuPG 通过运行列出所有单独的 OpenPGP 数据包来构造密钥gpg --export 3BAAF156 | gpg --list-packets

有比 UID 更多的方法来处理密钥 - 实际上,特别是对于脚本和开发目的,指定一个固定的密钥 ID 甚至更好的指纹是首选。您可以使用的短键 ID 是3BAAF156(而不是邮件地址),但最好使用长键 ID

短密钥 ID 的示例,加密文件example.txt

gpg --recipient 3BAAF156 --encrypt example.txt
于 2016-08-04T20:27:17.917 回答
0

我说有一个空的 UID 是不寻常的(如果不是无效的)。例如,GPG 2.1.11 不允许我生成具有空 UID 的密钥:

export GNUPGHOME=$(mktemp -d) # use temporary dir; unset when done
gpg --batch --passphrase 'pass' --quick-gen-key ''

我得到:

gpg: Key generation failed: Invalid user ID

此外,gpg --edit-key不允许我删除最后一个uid.

要回答您的第二个问题,您可以(尝试)使用该密钥的“密钥 ID”,3BAAF156在您的情况下:

echo hello | gpg --encrypt --armor --recipient 3BAAF156
于 2016-08-04T16:05:18.543 回答