
我正在嘗試將 Gpg4win 配置為不使用彈出視窗來詢問密碼。我僅有的從命令提示字元使用 gpg2,這表示彈出視窗既煩人又具有破壞性,因為它會將焦點從命令提示字元移開,並且之後不會將其傳回。
這是在 Windows 10 上。
我嘗試使用以下內容編輯 gpg-agent.conf 檔案:
pinentry-program C:\...path-to\pinentry.exe
希望沒有 -w32 或類似結尾的 pinentry.exe 能夠在控制台上使用,但當嘗試簽署測試檔案時,它只會在那裡停留幾秒鐘,然後輸出:
$ gpg2 --sign test.md
gpg: problem with the agent: No pinentry
gpg: no default secret key: Operation cancelled
gpg: signing failed: Operation cancelled
我嘗試在路徑和正斜線周圍添加引號,因此我嘗試了以下所有操作:
pinentry-program 'C:\...path-to\pinentry.exe'
pinentry-program C:/...path-to/pinentry.exe
pinentry-program file://C:/...path-to/pinentry.exe
在我的 gpg.conf 檔案中,設定 use-agent 已被註解掉,因為我在各個網站上找到了相關提示,但我懷疑這是 gpg (1) 的舊設置,而不是 gpg2 的舊設定。
我嘗試將 no-use-agent 添加到 gpg.conf 中,並得到以下結果:
gpg: C:/.../gpg.conf:202: obsolete option "--no-use-agent" - it has no effect
那麼這有可能嗎?
基本上我想要的是這個指令:
gpg2 --sign test.md
在繼續之前,應在同一命令提示字元視窗中提示輸入我的密碼。
答案1
我使用的是Gpg4win v3.1.15,它似乎使用appdata目錄作為預設主目錄。如果您的主目錄不同,則 gpg.conf 必須儲存在其中。
如果文件不存在,則建立文件並%appdata%\gnupg\gpg.conf
包含以下內容:
pinentry-mode loopback
如果啟用它,您會收到命令列提示符。
此外,相同的設定允許您將 pin 作為命令列選項密碼傳遞,例如gpg --passphrase 12345 --decrypt
,這當然是不安全的,具體取決於您的使用情況。如果您正在做程式設計工作,那麼它可能比輸入標準輸入更方便。