web-dev-qa-db-ja.com

Keybase pgpインポート命令は実際には何をしますか?

Keybaseアカウントを作成し、「簡単な」ID(Twitter、Redditなど)をインポートしました。ここで、PGPキーを取得します。

Keybase(Windows)アプリから特定のテキストにPGP署名し、その署名済みデータ(base64など)を再アップロードする指示を期待していました。代わりに、私が見つけたのはこれです:

# import a key from gpg's key chain
keybase pgp select
#import from stdin and send the public half to Keybase
cat privkey.asc | keybase pgp import
# for more options
keybase pgp help

最初は順番に3つの指示に従うべきだと思っていましたが、次に、それらがあなたができる3つの異なる主なことだと気づきました。

誰かが基本的な言葉で説明できますか(私はPGPと公開鍵/秘密鍵のペアの基本を知っています)、最初の2つのオプションが舞台裏で何を伴うかを説明できますか?

私が持っている特定の質問:

  • オプション1または2のどちらでも、KeybaseアプリがPGP秘密鍵に永続的にアクセスできますか?それとも、公開鍵が自分のものであるという証明に署名するのは1回だけですか?
  • オプション2は、現在の場所にあるファイルに秘密鍵が必要であることを意味しますか?ファイルは通常、パスフレーズで保護されていますか?
  • その他の特定のリスクや注意すべきことはありますか? veryにしたいのですが、PGP秘密鍵は自分のものにしておきます。

自分で答えを推測することはできますが、それは重要なことなので、聞きたいと思います。

10
Jeroen

これら3つのいずれかを探しているようです

keybase pgp import -i pubkey.txt
cat pubkey.txt | keybase pgp import
keybase pgp select --no-import

公開鍵の半分をインポートするには、それをキーベースでアドバタイズしますが、秘密鍵にアクセスできないようにします。

cat privkey.asc | keybase pgp import

秘密鍵のコピーがキーベースサーバーに送信され、キーベースpgpコマンドで使用できるようになります。

keybase pgp select

gnuPGキーリングを確認し、キーベースにインポートする既存の秘密キーを選択できるようにします。

疑わしいとき

keybase pgp <option> help

更新:

公開鍵をアップロードし、キーベースから秘密の半分を差し控えるオプションは機能していないようです。上記の最初のオプションセットがすべて返されます

  • エラー使用できる秘密鍵がありません
4
user8675309

私自身、この問題に遭遇したところ、使用する正しい引数が標準のgpg --helpテキストに表示されていないことがわかりました。

⇒  gpg --help | grep export
     --export                export keys
     --send-keys             export keys to a keyserver

しかし、そのための(非常に限られた)ヘルプテキストをここで見ることができます:

エクスポート秘密鍵

名前

export-secret-keys —秘密鍵をエクスポートする

export-secret-keys name ...

説明

これはコマンドexportと同じですが、公開鍵の代わりに秘密鍵がエクスポートされます。 秘密鍵は保護されていないため、これは通常あまり有用ではなく、セキュリティリスクです

秘密鍵をエクスポートし、localキーベースの鍵リングにインポートするには、次のようにします。

gpg --armor --export-secret-keys MYSECRETKEYID | keybase pgp import`

シークレットをキーベースに自動的にプッシュ/同期するためにも(リンクされた他のデバイスでそれを使用できるようにするため)、--Push-secretを使用できます。

⇒  keybase pgp import --help

..snip..

OPTIONS:
   -i, --infile     Specify an infile (stdin by default).
   --Push-secret    Push an encrypted copy of the secret key to the server.

これを自動的に行う完全なコマンドは、次のようになります。

gpg --armor --export-secret-keys MYSECRETKEYID | keybase pgp import --Push-secret`
0