下面的键有效吗?
该gpg --list-keys
命令列出了没有标签/电子邮件的关键信息,我的意思是 UID:
/home/XXXXXX/.gnupg/pubring.gpg
--------------------------------
pub 2048R/3BAAF156 2016-04-05
uid
它是有效的密钥吗?消息人士称,他们正在使用 Oracle Fusion Middleware pgp 来生成密钥。
如何使用没有 UID 的密钥加密文件?
下面的键有效吗?
该gpg --list-keys
命令列出了没有标签/电子邮件的关键信息,我的意思是 UID:
/home/XXXXXX/.gnupg/pubring.gpg
--------------------------------
pub 2048R/3BAAF156 2016-04-05
uid
它是有效的密钥吗?消息人士称,他们正在使用 Oracle Fusion Middleware pgp 来生成密钥。
如何使用没有 UID 的密钥加密文件?
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
我说有一个空的 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