2011-08-10 26 views
7

我正在嘗試使用GPG(當前v 1.4.10)執行對稱加密/解密過程的一些定製軟件。我現在的加密命令如下:gpg2中的gpg代理

gpg --batch --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted 

沒有--no-use-agent選項,我得到了臭名昭著的錯誤信息

GPG-代理不可用在這個環節

我我很擔心gpg2的移動,因爲according to the documentation,總是需要gpg代理,而--no-use-agent只是一個虛擬選項。我的gpg調用通過守護進程發生在後臺,所以這是一個非代理場景(加上它是對稱的,我根本不需要代理)。

此級別的文檔資料很少,所以我正在尋找用戶體驗。 gpg2是否更加緊密地包含代理,以便我不必擔心其可用性?

+0

你應該接受sinharaj的答案。他給了你一切你需要知道的東西。 – rsaw

回答

6
  1. 調用gpg2的方式,如果輸出文件path/to/file_to_be_encrypted.gpg已經存在,它可能會失敗。如果你想覆蓋的文件,你應該提供--yes選項:當您使用對稱加密(像你這樣做)

    gpg2 --batch --yes --no-tty --no-use-agent --symmetric --cipher-algo AES256 --passphrase "foobar" /path/to/file_to_be_encrypted 
    
  2. ,該密碼限制(即使設置爲執行通過gpg-agent)將不會被應用—它只會工作。

    說出gpg-agent是這樣運行了(並讓mypasswords文件甚至包含正是您的密碼與禁止模式):

    eval $(gpg-agent --daemon --enforce-passphrase-constraints --min-passphrase-len 8 --min-passphrase-nonalpha 4 --check-passphrase-pattern mypasswords) 
    

    ,您的命令仍然會成功。

    簡而言之:gpg-agent不會讓它失敗(除非它崩潰GPG出於某種原因—像配置錯誤或丟失的可執行文件,它不能解釋)

    編輯:我剛剛檢查,並在對稱模式gpg2將工作即使GPG-代理配置錯誤如果GPG代理可執行文件丟失。

    這是不相關的,但以防萬一:當我嘗試在gpg-agent丟失時更改您的私鑰密碼時會發生什麼情況配置錯誤:gpg2會報告警告,將甚至不要求新的密碼,並繼續工作。

來源: