igo*_*yan 4 cryptography gnupg openpgp public-key
我只有一个 OpenPGP 密钥的公共指纹。我不知道密钥 ID 或几乎任何其他东西。
我怎样才能得到相应的公钥?有没有在线服务可以做到这一点?
每个 OpenPGP 密钥都有一个附加的指纹,主要根据其公钥数据包计算得出,该数据包还包含创建时间。该计算在RFC 4880、OpenPGP、12.2 中定义。密钥 ID 和指纹。
有短密钥 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
Run Code Online (Sandbox Code Playgroud)
使用指纹和密钥 ID,因为共享和比较通常具有 1024 到 8096 位的整个密钥(为创建日期等标题添加更多)是非常不切实际的。
有一堆密钥服务器用于分发密钥——它们相互通信,选择其中任何一个。GnuPG 的选项--keyserver hkp://pool.sks-keyservers.net(通常在~/.gnupg/gpg.confLinux/UNIX 系统的配置文件中设置,Windows 上的另一个路径)使用一个池,每次使用时都会随机选择一个。
您可以使用--recv-keysGnuPG 中的命令,分别使用完整指纹的短 ID 和长 ID 中的任何一个来获取密钥,而指纹是最具体的(与短密钥 ID 冲突的可能性最高)。
如果不存在冲突键,以下语句将获取相同的键:
gpg --recv-keys 0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
gpg --recv-keys 4E1F799AA4FF2279
gpg --recv-keys A4FF2279
Run Code Online (Sandbox Code Playgroud)
如果您想从浏览器中查询密钥服务器,请确保搜索指纹、长或短密钥 ID 前缀0x以指示搜索密钥 ID(GnuPG 命令行界面会自动为您执行此操作)。
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |