可以存在没有UID的OpenPGP公钥吗?

时间:2016-08-04 15:29:10

标签: gnupg pgp oracle-fusion-middleware

以下密钥有效吗?

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

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

这是一个有效的密钥吗? Source表示他们正在使用Oracle融合中间件pgp来生成密钥。

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

2 个答案:

答案 0 :(得分:3)

http://simplehtmldom.sourceforge.net/不要求密钥附加UID。无论如何,你发布的输出似乎更像是键有一个 UID(在阅读RFC 4880, OpenPGP时不禁止)。您可以通过运行<?php include_once('simple_html_dom.php'); $url = "http://your_url/"; $html = new simple_html_dom(); $html->load_file($url); foreach($html->find("a") as $link) { // do something with the link } ?> 让GnuPG列出构建密钥的所有单个OpenPGP数据包。

解决密钥的方法比UID更多 - 实际上,特别是对于脚本和开发目的,指定固定密钥ID或更好的指纹是首选。您可以使用的短密钥ID是gpg --export 3BAAF156 | gpg --list-packets(而不是邮件地址),但section 5.11. User ID Packet (Tag 13)

短密钥ID的示例,加密文件3BAAF156

example.txt

答案 1 :(得分: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

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

echo hello | gpg --encrypt --armor --recipient 3BAAF156