web-dev-qa-db-ja.com

異なるバージョンのGnuPG間でGPG暗号化/復号化が失敗するのはなぜですか?

それらの間でデータを渡す2つのサーバーがあります。1つはUbuntuで、もう1つはRedHatです。それぞれにすでにインストールされているバージョンを使用すると、UbuntuはgnuPG 1.4.xを備えた12.04であり、RedHatはgnuPG2.0.xを備えたEnterprise6.1であり、UbuntuからRedHatに移行することを復号化できません。

PHPを使用して、UbuntuサーバーのgnuPG拡張機能を使用して暗号化/復号化します。RedHatサーバーは、CGIスクリプトからシェルを介してgnuPGにアクセスします。

Red Hatで公開鍵/秘密鍵を作成し、公開鍵をエクスポートしました。 Ubuntuにインポートして署名しました。次に、Ubuntuでファイルを暗号化し、Red Hatサーバーにコピーして、復号化を試みました。

私はこの応答を得ています

gpg -d tocyn.gpg
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error

この応答が何を意味するかについて多くの情報を見つけることができなかったので、これでどこに行くべきかわかりません。 2つの異なるバージョン間でこれを行うことはできませんか?誤解したかもしれませんが、ほぼ同じだと思いました。

1
Bill

GnuPG2.0.xと1.4.xの両方の最近のバージョンは完全に互換性があります。これは問題ではないはずです。データが正しく転送されたことを確認してください(チェックサムを使用するなど)。

とにかく:UbuntuのようなDebian派生物はGnuPG 1と2の両方をインストールします。ここで、gpgはGnuPG1.4.xと_gpg2_ GnuPG2.0.xです。

GnuPG 2のmanページから:

_gpg2_はGNU Privacy Guard(GnuPG/MacGPG2)のOpenPGP部分です。これは、OpenPGP標準を使用してデジタル暗号化および署名サービスを提供するツールです。_gpg2_完全な鍵管理と、まともなOpenPGP実装から期待できるすべてのベルとホイッスルを備えています。

サーバーおよび組み込みプラットフォームにより適したスタンドアロンバージョンgpgとは対照的に、このバージョンは通常_gpg2_という名前でインストールされ、他のいくつかのモジュールをインストールする必要があるため、デスクトップを対象としています。スタンドアロンバージョンは維持され、同じシステムに両方のバージョンをインストールすることが可能です。異なる構成ファイルを使用する必要がある場合は、_gpg.conf-2' instead of just_ gpg.conf 'のようなものを使用する必要があります。

0
Jens Erat