如何获得只知道其指纹的 public OpenPGP 密钥?
How to get a public OpenPGP key only knowing its fingerprint?
我只有一个 OpenPGP 密钥的 public 指纹。我不知道密钥 ID 或几乎任何其他信息。
如何获取对应的public密钥?有没有在线服务可以做到这一点?
是的,有 servers 个。您可以这样获取密钥:
gpg --recv-keys <KEY_ID>
更新:seeKEY_ID如何与指纹互联:
Fingerprint: EC2392F2EDE74488680DA3CF5F2B4756ED873D23
Long Key ID: 5F2B4756ED873D23
Short Key ID: ED873D23
指纹与长短密钥 ID 的关系
每个 OpenPGP 密钥都附有指纹,主要根据其 public 密钥数据包计算,其中还包含创建时间。计算在 RFC 4880, OpenPGP, 12.2. Key IDs and Fingerprints.
中定义
有短密钥ID和长密钥ID,分别类似于指纹的低32位和64位。例如,查看我的 OpenPGP 密钥的 ID:
fingerprint: 0D69 E11F 12BD BA07 7B37 26AB 4E1F 799A A4FF 2279
long id: 4E1F 799A A4FF 2279
short id: A4FF 2279
使用指纹和密钥 ID,因为共享和比较通常为 1024 到 8096 位的整个密钥(为 headers 添加更多,例如创建日期)非常 不切实际。
从密钥服务器接收密钥
有一堆用于分发密钥的密钥服务器——它们相互通信,选择其中的任何一个。 GnuPG 的选项 --keyserver hkp://pool.sks-keyservers.net
(通常在 Linux/UNIX 系统的配置文件 ~/.gnupg/gpg.conf
中设置,Windows 上的另一个路径)使用一个池,每次使用它时都会选择一个随机的池.
您可以使用 GnuPG 中的 --recv-keys
命令使用完整指纹中的任何短 ID 和长 ID 中的任何一个来获取密钥,而指纹是最具体的(和 chances for collisions with short key IDs are highest)。
如果不存在冲突键,则以下语句将获取相同的键:
gpg --recv-keys 0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
gpg --recv-keys 4E1F799AA4FF2279
gpg --recv-keys A4FF2279
如果要从浏览器查询密钥服务器,请确保搜索指纹、长或短密钥 ID 以 0x
为前缀以指示搜索密钥 ID(GnuPG 命令行界面将自动为您执行此操作)。
我只有一个 OpenPGP 密钥的 public 指纹。我不知道密钥 ID 或几乎任何其他信息。
如何获取对应的public密钥?有没有在线服务可以做到这一点?
是的,有 servers 个。您可以这样获取密钥:
gpg --recv-keys <KEY_ID>
更新:seeKEY_ID如何与指纹互联:
Fingerprint: EC2392F2EDE74488680DA3CF5F2B4756ED873D23
Long Key ID: 5F2B4756ED873D23
Short Key ID: ED873D23
指纹与长短密钥 ID 的关系
每个 OpenPGP 密钥都附有指纹,主要根据其 public 密钥数据包计算,其中还包含创建时间。计算在 RFC 4880, OpenPGP, 12.2. Key IDs and Fingerprints.
中定义有短密钥ID和长密钥ID,分别类似于指纹的低32位和64位。例如,查看我的 OpenPGP 密钥的 ID:
fingerprint: 0D69 E11F 12BD BA07 7B37 26AB 4E1F 799A A4FF 2279
long id: 4E1F 799A A4FF 2279
short id: A4FF 2279
使用指纹和密钥 ID,因为共享和比较通常为 1024 到 8096 位的整个密钥(为 headers 添加更多,例如创建日期)非常 不切实际。
从密钥服务器接收密钥
有一堆用于分发密钥的密钥服务器——它们相互通信,选择其中的任何一个。 GnuPG 的选项 --keyserver hkp://pool.sks-keyservers.net
(通常在 Linux/UNIX 系统的配置文件 ~/.gnupg/gpg.conf
中设置,Windows 上的另一个路径)使用一个池,每次使用它时都会选择一个随机的池.
您可以使用 GnuPG 中的 --recv-keys
命令使用完整指纹中的任何短 ID 和长 ID 中的任何一个来获取密钥,而指纹是最具体的(和 chances for collisions with short key IDs are highest)。
如果不存在冲突键,则以下语句将获取相同的键:
gpg --recv-keys 0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
gpg --recv-keys 4E1F799AA4FF2279
gpg --recv-keys A4FF2279
如果要从浏览器查询密钥服务器,请确保搜索指纹、长或短密钥 ID 以 0x
为前缀以指示搜索密钥 ID(GnuPG 命令行界面将自动为您执行此操作)。