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