我已经设置了一个 Keybase 身份并添加了我的 PGP 公钥。
在验证我的 GitHub 身份时,Keybase 提供给我的文本包括行
I have a public key ASCBCvhvoS0FhnkV48BJpopPPCfcC5QGdrTZCpuQgETcswo
。
当查看其他人的 GitHub 证明时,例如vbuterin,他们反而拥有
I have a public key whose fingerprint is...
带有 PGP 密钥指纹的行。
为什么 keybase 不在这里使用我的公共 PGP 密钥? 我希望能够像其他人一样使用这种机制来证明我的 PGP 密钥
这个公钥是怎么来的?
我无法ASCBCvhvoS0FhnkV48BJpopPPCfcC5QGdrTZCpuQgETcswo
在我的 Keybase 帐户或我的 PGP 密钥中找到任何地方,这是从哪里来的?
严格来说,Keybase 证明不再用于将你的 GitHub 帐户链接到你的 PGP 密钥——它们是用于将你的 GitHub 帐户链接到你的Keybase 帐户。不同之处在于,除了 PGP 密钥之外,后者现在可以使用特定于密钥库的“设备密钥”和“纸质密钥”来表示。
每次运行
keybase login
或登录该应用程序时,都会生成一个新的设备密钥,而不是 PGP 密钥,并将其用于所有操作。(如果您在您的 Keybase 配置文件上单击“2 个设备”,您将能够看到您帐户的完整信任图——所有内容都可以链接到您的 PGP 密钥,但有时需要两个或三个链接。)
我不知道这个方案的优点,这就是他们实施它的方式。
仍然可以制作基于 PGP 的签名;例如,当直接在网站上执行操作时,系统会提示您运行 gpg|curl 命令来生成证明。
感谢@grawity 的回答,我了解到 Keybase 将 Keybase 设备密钥用于用于生成证明的设备。
您可以使用浏览器创建证明,并在出现提示时选择 Bash + GPG + cURL 方法,从而使用 PGP 密钥生成证明。这将为您提供一个命令来签署消息并使用提供的 curl 命令将其发送到密钥库。你可以在这里看到我更新的证据。
请注意,您似乎需要为此使用 bash,在 PowerShell 中使用 curl 给我带来了问题。