Skip to content

搞英语 → 看世界

翻译英文优质信息和名人推特

Menu
  • 首页
  • 作者列表
  • 独立博客
  • 专业媒体
  • 名人推特
  • 邮件列表
  • 关于本站
Menu

从 Git 平台确认公共 GPG 指纹

Posted on 2025-02-12

确认-public-gpg-指纹-来自-

前几天我发现了一些非常有用的东西,我已经知道了一段时间的东西,我终于找到了它的用处。当您使用 GitHub 或 Codeberg 等公共 Git 服务并将 GPG 密钥分配给您的帐户时,您的公钥将在这些平台上公开。

如果您将.gpg添加到配置文件末尾,许多 git 服务将在用户配置文件页面上托管用户公钥。因此,对于我的浏览器,请浏览https://github.com/cjerrington.gpg ,您将看到公钥。我认为部分原因是共享 GPG 密钥可能会让某些人感到困惑或困难,而这些服务试图帮助该平台的其他用户。

GPG 公钥被加密是有原因的,但是使用gpg cli,您可以解码一些重要信息。我能够做的对我验证这些平台上的 GPG 密钥是否是最新的有帮助的是使用curl ,然后从公钥中读取数据。

 curl -s https://github.com/cjerrington.gpg | gpg -n --show-keys \ --with-fingerprint --keyid-format = long

这将正确显示 GPG 密钥的指纹,还可以确认您是否从密钥服务器下载了公钥。

那么你为什么要这样做呢?在下载并可能将其导入到您的计算机之前可以确认密钥。确认某人发送给您的钥匙具有相同的指纹并进行了额外检查。

我想了解的另一个过程是您是否可以使用公共托管的公钥并使用它来确认和解密或验证本地文件的签名。

测试

为了测试这个理论,我创建了一个测试文件,对其进行签名,然后使用本示例中在 GitHub 上找到的公钥对其进行解密。我成功了,但必须下载文件,但不必导入密钥。您可能出于某种原因想要确认公钥的完全导入或只是暂时使用它。例如,很多时候,当您下载 Linux ISO 时,他们会提供有关如何使用 SHA256 哈希值和 GPG 密钥过程验证文件的说明。

例如,在验证说明中,有一个方便的复制和粘贴命令可以从密钥服务器导入密钥,但我们可能想确认要求我们下载和导入的密钥仍然属于 Ubuntu。在 GPG 部分,它要求从keyserver.ubuntu.com导入密钥0x46181433FBB75451 。因此我们可以搜索它并找到完整的密钥和 URL。当然,许多密钥服务器也已经以人​​类可读的格式向您显示公钥数据。

 curl -s http://keyserver.ubuntu.com/pks/lookup?op = get & search = 0xc5986b4f1257ffa86632cba746181433fbb75451 \ | gpg -n --show-keys --with-fingerprint --keyid-format = long pub dsa1024/46181433FBB75451 2004 -12-30 [ SC ] Key fingerprint = C598 6B4F 1257 FFA8 6632 CBA7 4618 1433 FBB7 5451 uid Ubuntu CD Image Automatic Signing Key < [email protected] >

我们可以看到这些匹配。

在实践中

让我们创建一个文件,对其进行签名,然后验证它。

 # Create file echo "This is a test file" > testfile.txt

对我刚刚创建的文件进行签名以创建testfile.txt.sig文件。

 # Sign file gpg --detach-sig --sign --output testfile.txt.sig testfile.txt

从 GitHub 获取公钥。在此过程中,我发现我需要将公钥实际保存到本地文件中,并删除新创建的文件中的 GPG 文本。然后,这将创建一个文件cjerrington.asc.gpg 。我们需要本地文件中的公钥以供下一步使用。

 # Download public key curl -s https://github.com/cjerrington.gpg -o cjerrington.asc gpg --dearmor . \ cjerrington.asc

现在,将 gpg 设置为使用cjerrington.asc.gpg文件作为密钥环来查看此密钥,而不是系统导入的密钥。

 # Verify sig file gpg -v --no-default-keyring --keyring ./cjerrington.asc.gpg \ --verify ./testfile.txt.sig ./testfile.txt

verify的结果。

 gpg: Signature made Tue 11 Feb 2025 09:18:41 PM CST gpg: using EDDSA key 22A87774A7342FE3DF25E15D08528E69B3B9CA3E gpg: using pgp trust model gpg: Good signature from "Clayton Errington " gpg: binary signature, digest algorithm SHA256, key algorithm ed25519

包起来

也许这有效,因为我签署了一个文件并使用我自己的私钥来验证签名。然而,这也应该是收件人用来验证文件的类似过程。

这是一个很好的兔子整体,我可以去看看我可以用 GPG 做什么,并在下载和导入之前读取公钥进行一些额外的验证。

只需记住导入您信任和验证的密钥即可。如果您确实需要导入密钥以供长期使用,则可以这样做。有时需要短期验证文件,但不导入密钥。


通过电子邮件回复

原文: https://claytonerrington.com/blog/view-public-gpg-fingerprints/?utm_source=rss

本站文章系自动翻译,站长会周期检查,如果有不当内容,请点此留言,非常感谢。
  • Abhinav
  • Abigail Pain
  • Adam Fortuna
  • Alberto Gallego
  • Alex Wlchan
  • Answer.AI
  • Arne Bahlo
  • Ben Carlson
  • Ben Kuhn
  • Bert Hubert
  • Bits about Money
  • Brian Krebs
  • ByteByteGo
  • Chip Huyen
  • Chips and Cheese
  • Christopher Butler
  • Colin Percival
  • Cool Infographics
  • Dan Sinker
  • David Walsh
  • Dmitry Dolzhenko
  • Dustin Curtis
  • Elad Gil
  • Ellie Huxtable
  • Ethan Marcotte
  • Exponential View
  • FAIL Blog
  • Founder Weekly
  • Geoffrey Huntley
  • Geoffrey Litt
  • Greg Mankiw
  • Henrique Dias
  • Hypercritical
  • IEEE Spectrum
  • Investment Talk
  • Jaz
  • Jeff Geerling
  • Jonas Hietala
  • Josh Comeau
  • Lenny Rachitsky
  • Liz Danzico
  • Lou Plummer
  • Luke Wroblewski
  • Matt Baer
  • Matt Stoller
  • Matthias Endler
  • Mert Bulan
  • Mostly metrics
  • News Letter
  • NextDraft
  • Non_Interactive
  • Not Boring
  • One Useful Thing
  • Phil Eaton
  • Product Market Fit
  • Readwise
  • ReedyBear
  • Robert Heaton
  • Ruben Schade
  • Sage Economics
  • Sam Altman
  • Sam Rose
  • selfh.st
  • Shtetl-Optimized
  • Simon schreibt
  • Slashdot
  • Small Good Things
  • Taylor Troesh
  • Telegram Blog
  • The Macro Compass
  • The Pomp Letter
  • thesephist
  • Thinking Deep & Wide
  • Tim Kellogg
  • Understanding AI
  • 英文媒体
  • 英文推特
  • 英文独立博客
©2025 搞英语 → 看世界 | Design: Newspaperly WordPress Theme