Keybase ID を設定し、PGP 公開キーを追加しました。
GitHub ID を検証するときに、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 キーにリンクされる必要がありますが、2 つまたは 3 つのリンクが必要になる場合もあります。
この仕組みの利点は分かりませんが、ただそのように実装されただけです。
PGP ベースの署名を作成することは引き続き可能です。たとえば、Web サイトで直接操作を実行する場合は、証明を生成するために gpg|curl コマンドを実行するように求められます。
答え2
おかげ@grawity による回答Keybase は、証明を生成するために使用されたデバイスに対して Keybase デバイス キーを使用することがわかりました。
ブラウザを使用してPGPキーで証明を生成することができます。プロンプトが表示されたら、Bash + GPG + cURLメソッドを選択します。これにより、メッセージに署名し、提供されたcurlコマンドを使用してキーベースに送信するコマンドが提供されます。更新された証明を見ることができます。ここ。
これには bash を使用する必要があるようです。PowerShell で curl を使用すると問題が発生しました。