為什麼不同版本的 GnuPG 之間的 GPG 加密/解密失敗?

為什麼不同版本的 GnuPG 之間的 GPG 加密/解密失敗?

我有兩台伺服器將在它們之間傳遞數據,一台是 Ubuntu,另一台是 Red Hat。使用每個上已安裝的版本,Ubuntu 是帶有 gnuPG 1.4.x 的 12.04,Red Hat 是帶有 gnuPG 2.0.x 的 Enterprise 6.1,我無法解密從 Ubuntu 到 Red Hat 的過程。

我將使用 PHP 在 Ubuntu 伺服器上使用 gnuPG 擴充功能來加密/解密。 Red Hat 伺服器將透過 CGI 腳本的 shell 存取 gnuPG。

我在紅帽上創建了公鑰/私鑰,導出了公鑰。將其導入 Ubuntu 並簽名。然後我在 Ubuntu 上加密了一個文件,將其複製到 Red Hat 伺服器並嘗試解密。

我收到這個回复

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

不知道該去哪裡,因為我無法找到有關此回應含義的太多資訊。在兩個不同的版本之間不可能做到這一點嗎?我可能誤解了,但我認為它們實際上是一樣的。

答案1

GnuPG 2.0.x 和 1.4.x 的最新版本完全相容。這不應該是問題,驗證資料是否正確傳輸(例如使用校驗和)。

無論如何:像 Ubuntu 這樣的 Debian 衍生品都安裝了 GnuPG 1 和 2,其中gpg是 GnuPG 1.4.x 和gpg2GnuPG 2.0.x。

來自 GnuPG 2 的手冊頁:

gpg2 是 GNU Privacy Guard (GnuPG/MacGPG2) 的 OpenPGP 部分。它是一個使用 OpenPGP 標準提供數位加密和簽章服務的工具。gpg2 具有完整的金鑰管理以及您可以從體面的 OpenPGP 實作中獲得的所有附加功能。

gpg與更適合伺服器和嵌入式平台的獨立版本相比,該版本通常以該名稱安裝gpg2,並且更針對桌面,因為它需要安裝其他幾個模組。獨立版本將得到維護,並且可以在同一系統上安裝兩個版本。如果您需要使用不同的配置文件,您應該使用gpg.conf-2' instead of justgpg.conf 之類的文件。

相關內容