Debian

將 pinentry 與 keepass2 一起用於 gpg 郵件加密

  • February 29, 2016

Debian Jessie, XFCE 4.10, KeePass2, IceDove (with Enigmail)..

我正在為我的 gpg 私鑰使用 KeePass2 生成的密碼來解密/加密郵件。Icedove 是我使用 enigmail 的客戶。

一旦我想解密/加密郵件pinentry(pinentry-gtk2)就會彈出,我不能粘貼到密碼欄位中,也不能移動它——因此我想讓 KeePass2 自動輸入我的長屁股我的密碼。這不適用於鍵盤快捷鍵(適用於其他任何東西),但在 KeePass2 條目中右鍵點擊“執行自動鍵入”。

這讓我慢慢發瘋。我現在已經閱讀了大量的論壇討論 - 沒有一個真正有幫助,並試圖改變我的 gpg-agent 設置以使用 pinentry-curses。我什至刪除了 pinentry-gtk2 這使得 icedove 完全無法解密/加密。

使自動輸入功能或粘貼在 pinentry 視窗中工作的任何建議。還是替代品?

在 Keepass2 中,“添加條目”,並將“標題”設置為“GPG”。從“輸入”選項卡移動到“自動輸入”選項卡。選擇“覆蓋預設序列”並設置為“{PASSWORD}”。

在您發送電子郵件之前,請使用 Keepass2 密碼打開 Keepass2。使用 Enigmail 向 IceDove 詢問“發送”,然後應該會出現 pinentry(鎖定鍵盤、阻止“Ctrl+V”(或您通常用於執行自動鍵入的任何其他鍵盤快捷鍵)、阻止切換視窗“Alt+Tab”等) .

使用滑鼠突出顯示 Keepass2 中的“GPG”條目,然後點擊 Keepass2 中的“執行自動輸入”圖示(“查找”圖示左側和“幫助”菜單下方)。由於鍵盤“焦點”最後在 pinentry 文本輸入框上,Keepass2 現在將開始為您輸入長密碼。

使用滑鼠在 pinentry 上點擊“確定”。完畢!

有關“自動類型”(http://keepass.info/help/base/autotype.html)的更多詳細資訊。

接受的答案使用與問題中描述的相同的過程這一事實表明,沒有辦法讓 KeePass 自動輸入(甚至簡單的複制粘貼)與 pinentry 一起工作。然而,這是不正確的!

正如其他人所說,pinentry用於gpg-agent(例如pinentry-gtk-2)全域鎖定(“抓取”)鍵盤的程序。但是,gpg-agent可以配置為使用該--no-grab選項禁用此行為 - 請參閱GPG 文件。(*注意:*此選項在文件中有安全警告。但是,如果您仍然使用 KeePass,我懷疑不使用 pinentry--no-grab會為您提供任何額外的安全性。)

為了--no-grab用作 的預設值gpg-agent,請創建/編輯文件~/.gnupg/gpg-agent.conf(即主目錄gpg-agent.conf中的.gnupg目錄中的文件)並添加該行

no-grab

到它(文件中的資訊gpg-agent.conf。因此,每次gpg-agent從此時開始,它都會使用該--no-grab選項並pinentry-gtk-2表現得像一個普通視窗(因此您可以使用鍵盤快捷鍵執行自動輸入,粘貼到文本欄位等)。

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