質問: gpgサブキーに別のパスフレーズを設定するにはどうすればよいですか? 展開プロセスを自動化する必要があり、ツールはリリースアーティファクトに自動的に署名します。キーリングには、サブキーの作成にのみ使用する主キーと2つのサブキーがあります。署名用と暗号化用の1つのサブキー。現在、すべてのキーに単一のパスフレーズがあります。このパスフレーズを構成ファイルで指定したくないのは、主キーも危険にさらされるからです。そのため、次のようにして、サブキーに別のパスフレーズを設定すると思いました。$ gpg --edit-key [subkey-id] gpg> passwd gpg> save しかし、これにより他のキーのパスフレーズも変更されました。個々のキーに個別のパスフレーズを設定するにはどうすればよいですか?
回答: 非常に古くなった(2013)gnupg.orgメールアーカイブは サブキーに個別のパスワードを作成するための厄介な回避策 について説明しています。 これは、制約がキーセット(つまり、マスターサブキーのグループ化)のデータ構造内ではなく、キーセットを作成および変更するためのソフトウェアインターフェイスにのみあることを意味します。参考文献からの引用: こんにちは、 マスターキーと、マスターキーとは異なる(たとえば、短い)パスフレーズを持つサブキーを持ついくつかのサブキーを持つことは可能ですか? おそらく探しているのはオフラインのメインキーです(--export-secret-サブキーを参照)。しかし、答えは「はい」です。 gpg-agentはキーの接続を気にしません。同じパスフレーズを数回求められます(同じキーの異なるコンポーネントの場合)。 しかし、gnupgはこれを直接サポートしていません。 1)秘密鍵をエクスポートする(--armorのない--export-secret-keys) 2)パスフレーズを変更する 3)再度エクスポートします(もちろん、別のファイルに) 4)両方のファイル(異なるディレクトリ内)でgpgsplitを使用します。結果は次のようになります。 000001-005.secret_key 000002-013.user_id 000003-002.sig 000004-007.secret_subkey 000005-002.sig 5)ここで、2つのグループのコンポーネントを混合します。 6)秘密からキーを削除します:-delete-secret-key 7)新しいものをインポートします:gpg --import different_passphrases.gpg hauke laging 私はこの操作を個人的に確認していません-読んだことを報告するだけです。この重要なトピックに関するgnupgドキュメントの仕様と議論の欠如は残念です。