Gpg

列出和導出 GPG 密鑰

  • July 26, 2017

我正在嘗試將(PHP)軟體模組遷移到新伺服器(從 CentOS 6.9 到 Ubuntu 16.04)。在程序的某個部分,程式碼嘗試啟動以下命令:

gpg --no-tty --sign --encrypt --armor --passphrase=whatever --local-user A188E1E4! --recipient A188E1E4

所以我試圖從工作伺服器導出私鑰/公鑰對。

我被困在這一點上,我試圖用這個非常相似的問題來管理它,但我不知道密鑰應該在哪裡的名稱和路徑。

我試過跑步gpg --list-keys但是:

gpg: 目錄 ‘/home/my-username/.gnupg’ 創建

gpg: 新配置文件 /home/my-username/.gnupg/gpg.conf’ 創建

gpg:警告:“/home/my-username/.gnupg/gpg.conf”中的選項在此執行期間尚未啟動

gpg: 密鑰環 ‘/home/my-usernameo/.gnupg/pubring.gpg’ 創建

gpg: /home/my-username/.gnupg/trustdb.gpg: trustdb 創建

我不知道哪個使用者是用於啟動命令的程式碼。也許我需要一種方法來列出所有鍵,而不僅僅是目前使用者,這樣我就可以看到我需要導出哪個鍵。

gpg將嘗試從中載入密鑰,~/.gnupg並且不會列出“系統中的所有密鑰”,因為每個使用者都有一個單獨的密鑰環。你不可以做這個。

在您的情況下,gpg應用程序將嘗試列出來自 的鍵www-dataphp或者擁有該php程序的使用者的名稱。

您可以通過操作GNUPGHOMEorHOME環境變數或將 設置為 --homedir來 更改鍵的位置gpg。此選項並非在所有gpg版本中都可用。

引用自:https://unix.stackexchange.com/questions/381877