バックアップ目的でエクスポートした gpg 秘密キーを検証するにはどうすればよいですか?

バックアップ目的でエクスポートした gpg 秘密キーを検証するにはどうすればよいですか?

私はキーをエクスポートしました

gpg --export-secret-key "user name" > path/to/secretkeybackupfile.key

そして完了

gpg path/to/secretkeybackupfile.key

キーの詳細が正しい ID を持つ秘密キーとして表示されます。そのキーを使用して作成したファイルを実際に復号化して、それが本当に正しいキーであり、正しく機能していることを証明できるかどうかをテストする方法はありますか?

これを実行する唯一の方法は、元のキーを削除してから、そのコピーを GPG キーリングに再度インポートすることです...

また、キーをエクスポートすると、警告なしに指定されたファイルが上書きされ、ユーザー名の一部のみを含めるとユーザー名全体を含めるのと同じ効果があるように見えますが、これは正しいですか?また、これは望ましい動作ですか?

答え1

キーの詳細が正しい ID を持つ秘密キーとして表示されます。そのキーを使用して作成したファイルを実際に復号化して、それが本当に正しいキーであり、正しく機能していることを証明できるかどうかをテストする方法はありますか?

一時的な空のディレクトリに設定する$GNUPGHOMEと、キーをインポートできるようになります。新しい空のキーリング。テスト後、変数を設定解除するか、シェル ウィンドウを閉じると、通常のキーリングに戻ります。

mkdir -m 0700 ~/gnupgtest
export GNUPGHOME=~/gnupgtest
gpg --import ~/backup.gpg
gpg --list-secret-keys

また、キーをエクスポートすると、警告なしに指定されたファイルが上書きされることに気づきました。

シェル>演算子は常に警告なしにファイルを上書きします。リダイレクト演算子はgpgの一部ではありません– これらはシェルの言語/構文の一部であり、どのコマンドで使用しても同じ動作をします。

set -o noclobberbash では、ファイルの上書きを避けるためにを使用できます。その後、実際に上書きを実行する場合は、(bash) または(zsh)>を指定する必要があります。>|>!

ユーザー名の一部のみを含めると、ユーザー名全体を含めるのと同じ効果があるようです。

これは意図された動作です。キーの選択は、--export でも --list-keys、--recipient、その他の同様のオプションの場合と同じように機能します。一致するすべてのキーを一覧表示することはこれまでも可能でしたgpg -k fred

さらに重要なのは、同じ名前とアドレスを持つキーをいくつでも作成できることです。(たとえば、私には 4 ~ 5 個の秘密キーがあり、もちろんすべて同じ名前で、電子メール アドレスだけが異なります。私の公開キーリングにも、時間の経過とともに複数のキーを所有していた人が複数いることがわかります。)

唯一の常に信頼できる単一のキーを選択するには、そのキーの指紋全体を使用する方法があります。いつもの信頼できる方法は、16 桁の「キー ID」(短縮された指紋) を使用することです。

関連情報