web-dev-qa-db-ja.com

GnuPG1.4およびGnuPG2.1キーチェーンを同期します

新しいシステムのGnuPGにキーをインポートする際に、次のことを考慮しました。

質問

  1. Gpgとgpg2(gpg2.1)キーチェーンを同期することは可能ですか?
  2. そうするのは賢明ですか?

検討中

私はこれを見つけました 「GnuPG1とGnuPG2は互いに互換性がありますか?」への回答 、それは次のように述べています:

重要な変更は、以前は分離されていたパブリックキーリングとプライベートキーリング(pubring.gpgとsecring.gpg)をパブリックキーリングに結合するGnuPG2.1で行われました。これは互換性を維持する方法で実装されているため、GnuPG2.1が秘密鍵リングを統合した場合でもGnuPG1を使用できますが、秘密鍵への変更は他のそれぞれの実装では表示されません。変更ログから:
[...]は、古いGnuPGバージョンとGnuPG2.1の共存を可能にします。ただし、2.1より前のバージョンのGnuPGを使用している場合、新しいgpgを使用した秘密鍵への変更は表示されません。

ファイルレベルでの同期はオプションではありません。また、チェーンを同期するための組み込みのメカニズムがないようです。

Gpgからすべてのpubキーとsecキーをエクスポートし、gpg2(cronjobなど)を介してインポートするだけで安全ですか?その逆もありますか?それとも、予期しない結果に終わる可能性がありますか?

解決

キーの同期を自動化しませんでしたが、すべてのキーをgpgキーチェーンからgpg2キーチェーンに転送し、gpg2をgpgにシンボリックリンクして、常にgpg2を使用するようにしました。これは、すべてのキーを異なるキーリングに保持するよりも優れたソリューションのようです。

gpg --export | gpg2 --import
gpg --export-secret-keys | gpg2 --import
Sudo mv /usr/bin/gpg /usr/bin/gpg1
Sudo ln -s /usr/bin/gpg2 /usr/bin/gpg
4
hub

エクスポートとインポートによる同期は安全ですが、GnuPGはシークレットサブキーをマージできませんが、GnuPG 2.1以降であることに注意してください。したがって、GnuPG 2.1のサブキーで何かを変更した場合は、インポートする前にGnuPG1のキー全体を削除する必要があります。ただし、逆の場合は安全です。この同期プロセスのためにownertrustをエクスポート/インポートする必要があるかどうかはわかりません。

GnuPG 2.1の新機能(ECCキーなど)を利用するには、GnuPG 1を使用するためにnotを試して、代わりにgpg2gpgにシンボリックリンクします。 。一般に、他のアプリケーションがGnuPGとのインターフェースをとらないようにしない限り、互換性があるはずです。問題がある場合は、簡単に戻ることができます(または、GnuPG1を維持するためにgpggpg1として維持しますが、デフォルトをGnuPG 2.xに変更します)。

3
Jens Erat