Gpg
列出和導出 GPG 密鑰
我正在嘗試將(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-data
,php
或者擁有該php
程序的使用者的名稱。您可以通過操作
GNUPGHOME
orHOME
環境變數或將 設置為--homedir
來 更改鍵的位置gpg
。此選項並非在所有gpg
版本中都可用。