gpgから秘密署名キーのみを削除します(サブキーまたは「rm ~/.gnupg/private-keys-v1.d/KEYGRIP.key」を再インポートする必要はありません)。

gpgから秘密署名キーのみを削除します(サブキーまたは「rm ~/.gnupg/private-keys-v1.d/KEYGRIP.key」を再インポートする必要はありません)。

私が理解したのは、秘密鍵と公開鍵のペアを生成し、暗号化のためのサブキーを生成し、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フォーラムでそしてここで共有したかったです。

おすすめ記事