私が理解したのは、秘密鍵と公開鍵のペアを生成し、暗号化のためのサブキーを生成し、3つの鍵をすべてエクスポートし、それらを保存/バックアップ(「paperkey」を使用)してから、公開鍵方式のみを再インポートすることです。良いと考えられています。とサブアイテム(参照https://paul.fawkesley.com/gpg-for-humans-protecting-your-primary-key/またhttps://riseup.net/en/security/message-security/openpgp/best-practices#only-use-your-primary-key-for-certification-and-possibility-signing-have-a-separate-subkey-暗号化に使用)。また、キーには有効期限が必要です(参照:https://riseup.net/en/security/message-security/openpgp/best-practices#use-an-expiration-date-less-than-two-years)。
有効期限を更新するには、現在次の手順を手動で実行します。
gpg --import /PATH/TO/FULL-PRIVATE-KEY.asc
gpg --edit-key BADC0FFE0DDF00D
> expire # the main key
> 1y # expire in 1 year
> key 1 # select the first subkey
> key 2 # select the second subkey in addition
> expire # for both of the subkeys
> y # perform action on both keys
> 1y # expire in 1 year
> save
さて、インポートした秘密鍵をもう一度削除したいと思います。現在、私はこれを行う2つの方法を知っています。
gpg -K BADC0FFE0DDF00D # here I should see the key
gpg --delete-secret-and-public-keys BADC0FFE0DDF00D
gpg -K BADC0FFE0DDF00D # now nothing should be visible
gpg --import /PATH/TO/PRIVATE-SUB-KEY.asc /PATH/TO/PUBLIC-KEY.pub
または
gpg -K --with-keygrip BADC0FFE0DDF00D # copy the keygrip and use it below
rm -i ~/.gnupg/private-keys-v1.d/8BADF00DBEEFCACEDEFEC8EDDEADFA11.key
私は両方のアプローチが好きではありません。最初のアプローチはステップが多く(パブリックとサブ)キーファイルをエクスポートしてからインポートする必要があります。 )(たとえば、削除したい正しいキーの場合)。
私ができるこれよりもエレガントなことはないだろうか?
gpg --delete-only-the-private-signing-key-if-you-have-already-created-other-subkeys BADC0FFE0DDF00D
それともそういうこと?どんなアイデアにも感謝します!
私はDebian Stable(実際にはDebian StableをベースにしたPureOS Amber)とgpg(GnuPG)2.2.12を使用しています。
答え1
有効期限を変更するには、次を使用することをお勧めします。gpg --quick-set-expire FINGERPRINT \*
スクリプトの作成が簡単です。マニュアルページ(ここまたはここ)もっと学ぶ。
マスターキーのみを削除するには、次の一般的なコマンドを使用できます。
$ gpg --delete-secret-key 502D1A5365D1C0CAA69945390BA52DF0BAA59D9C\! sec nistp256/0BA52DF0BAA59D9C 2010-09-17 ec_dsa_dh_256 <[email protected]> Note: Only the secret part of the shown primary key will be deleted. Delete this key from the keyring? (y/N) y This is a secret key! - really delete? (y/N) y
指紋の末尾に感嘆符があります。これは、コマンドがキー全体に適用されないように、特定の主キーまたはサブキーを強制的に適用します。感嘆符は、シェルの要件のために引用されます。確認メッセージを表示したくない場合は、
--batch
を追加してください--yes
。注:バージョン2.2.12は機能しません。 2.2.16でこの問題を修正しました。したがって、最新バージョン(2020年7月上旬にリリースされた2.2.21)にアップデートするのが最善です。
公開:私はこの答えを受けましたベルナー・コッホ@dev.gnupg.org gnupg.orgフォーラムでそしてここで共有したかったです。