如果我不手動啟動 gpg-agent,為什麼在 Debian 上使用 Enigmail 和 Icedove 會失敗?

如果我不手動啟動 gpg-agent,為什麼在 Debian 上使用 Enigmail 和 Icedove 會失敗?

我在 Debian Sid 安裝上使用 Icedove,現在我嘗試將 Enigmail 與它一起使用。但我遇到一些問題:

  • 我必須使用gpg2Enigmail 而不是建立金鑰,因為它不想建立撤銷金鑰。
  • 現在我可以使用自己建立的金鑰,但gpg-agent之前我必須重新啟動;否則 Enigmail 會顯示「錯誤:加密指令失敗」。

    $ ps aux | grep gpg
    guik      4362  0.0  0.0 165796  1080 ?        Ss   17:02   0:00 gpg-agent --homedir /home/guik/.gnupg --use-standard-socket --daemon
    $ pkill gpg-agent
    $ gpg-agent --homedir /home/guik/.gnupg --use-standard-socket --daemon
    gpg-agent[15507]: Attention : « --use-standard-socket » est une option obsolète — non prise en compte
    gpg-agent[15508]: gpg-agent (GnuPG) 2.1.8 started
    

    然後就可以了。

  • 如果我gpg-agent再次殺死並嘗試發送加密電子郵件,gpg-agent它會自行重新啟動,甚至不起作用。

  • 我跟著本指南一切看起來都很好。

  • Enigmail 使用此命令發送:

    enigmail> /usr/bin/gpg2 --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --comment "Using GnuPG with Icedove - http://www.enigmail.net/" -t --clearsign -u 0x41A33C73 --use-agent
    

我正在運行 Icedove 38.2.0 和 Enigmail 1.8.2 (20150416-1748)。它既不適用於 Gnome,也不適用於 Cinnamon。

有人遇到類似的問題嗎?

提前致謝 !

這是 Enigmail 的日誌:

2015-10-01 19:20:18.910 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.sendMessageListener
2015-10-01 19:20:18.910 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: msgSendType=0, Enigmail.msg.sendMode=0, Enigmail.msg.statusEncrypted=0
2015-10-01 19:20:18.911 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: currentId=[nsIMsgIdentity: id1], [email protected]
2015-10-01 19:20:18.911 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg:gMsgCompose=[xpconnect wrapped nsIMsgCompose]
2015-10-01 19:20:18.912 [DEBUG] =====> keySelection()
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection()
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection(): toAddrStr="[email protected]" bccAddrStr=""
2015-10-01 19:20:18.912 [DEBUG] =====> processRules()
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.processRules(): toAddrStr="[email protected]" bccAddrStr="" forceRecipientSettings=false
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeHelper.js: getRecipientsKeys(): emailAddrs="[email protected]" interactive=true forceRecipientSettings=false
2015-10-01 19:20:18.913 [DEBUG] enigmail.js: getRulesData
2015-10-01 19:20:18.913 [DEBUG] enigmail.js: loadRulesFile
2015-10-01 19:20:18.913 [DEBUG] enigmail.js: getRulesFile
2015-10-01 19:20:18.913 [DEBUG] =====> validKeysForAllRecipients()
2015-10-01 19:20:18.913 [DEBUG] enigmailMsgComposeHelper.js: validKeysForAllRecipients(): emailsOrKeys='[email protected]'
2015-10-01 19:20:18.913 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): emailsOrKeys='[email protected]'
2015-10-01 19:20:18.913 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): find keys with minTrustLevel="?"
2015-10-01 19:20:18.913 [DEBUG] enigmailFuncs.jsm: loadKeyList
2015-10-01 19:20:18.913 [DEBUG] enigmailFuncs.jsm: obtainKeyList
2015-10-01 19:20:18.913 [DEBUG] enigmailFuncs.jsm: obtainKeyList
2015-10-01 19:20:18.914 enigmail.js: Enigmail.execCmd: subprocess = '/usr/bin/gpg2'
2015-10-01 19:20:18.915 [CONSOLE] enigmail> /usr/bin/gpg2 --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --fixed-list-mode --with-colons --list-config
2015-10-01 19:20:18.952 [DEBUG]   enigmail> DONE
2015-10-01 19:20:18.952 [DEBUG] enigmail.js: Enigmail.execCmd: exitCode = 0
2015-10-01 19:20:18.952 [DEBUG] enigmail.js: Enigmail.execCmd: errOutput = 
2015-10-01 19:20:18.952 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 

2015-10-01 19:20:18.953 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-10-01 19:20:18.953 [DEBUG] enigmailCommon.jsm: parseErrorOutput(): return with errorMsg = 
2015-10-01 19:20:18.953 [CONSOLE] 
2015-10-01 19:20:18.953 [DEBUG] enigmailCommon.jsm: stillActive: 
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: getValidKeyForRecipient(): emailAddr="[email protected]"
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: getValidKeyForRecipient():  no key for '[email protected]' found
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): return null (no single valid key found for="[email protected]" with minTrustLevel="?")
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): return ""
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: validKeysForAllRecipients(): return 'null'
2015-10-01 19:20:18.954 [DEBUG]   <=== validKeysForAllRecipients()
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.processFinalState()
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeOverlay.js:   encrypt=false encryptByRules=1 encFinally=0
2015-10-01 19:20:18.954 [DEBUG]                                  encReason=
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeOverlay.js:   signed=false signByRules=1 signFinally=11
2015-10-01 19:20:18.954 [DEBUG]                                 signReason=forcé manuellement
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeOverlay.js:   pgpmimeByRules=1 pgpmimeFinally=1
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: getRecipientsKeys(): emailAddrs="" interactive=true forceRecipientSettings=false
2015-10-01 19:20:18.954 [DEBUG] enigmail.js: getRulesData
2015-10-01 19:20:18.954 [DEBUG] enigmail.js: loadRulesFile
2015-10-01 19:20:18.954 [DEBUG] enigmail.js: getRulesFile
2015-10-01 19:20:18.954 [DEBUG]   <=== processRules()
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.keySelection(): return toAddrStr="[email protected]" bccAddrStr=""
2015-10-01 19:20:18.954 [DEBUG]   <=== keySelection()
2015-10-01 19:20:18.955 [DEBUG] enigmailMsgComposeOverlay.js: hasAttachments = false
2015-10-01 19:20:18.955 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: Using EnigMime, flags=225
2015-10-01 19:20:18.955 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: oldSecurityInfo = [xpconnect wrapped (nsISupports, nsIEnigMsgCompFields, nsIMsgSMIMECompFields)]
2015-10-01 19:20:18.956 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: securityInfo = [xpconnect wrapped nsIEnigMsgCompFields]
2015-10-01 19:20:18.956 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.encryptMsg: enabled forceMsgEncoding
2015-10-01 19:20:19.036 [DEBUG] enigmailCommon.jsm: determineHashAlgorithm
2015-10-01 19:20:19.036 [DEBUG] enigmailCommon.jsm: getPassphrase:
2015-10-01 19:20:19.036 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-10-01 19:20:19.036 [DEBUG] enigmailCommon.jsm: encryptMessageStart: uiFlags=16, from 0x41A33C73 to , hashAlgorithm=null (00000101)
2015-10-01 19:20:19.037 [DEBUG] enigmailCommon.jsm: getEncryptCommand: hashAlgorithm=null
2015-10-01 19:20:19.037 enigmailCommon.jsm: execStart: command = /usr/bin/gpg2 --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --comment "Using GnuPG with Icedove - http://www.enigmail.net/" -t --clearsign -u 0x41A33C73, needPassphrase=1, domWindow=[object ChromeWindow], listener=[object Object]
2015-10-01 19:20:19.037 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-10-01 19:20:19.037 [DEBUG] enigmailCommon.jsm: getPassphrase:
2015-10-01 19:20:19.037 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-10-01 19:20:19.037 [CONSOLE] enigmail> /usr/bin/gpg2 --charset utf-8 --display-charset utf-8 --batch --no-tty --status-fd 2 --comment "Using GnuPG with Icedove - http://www.enigmail.net/" -t --clearsign -u 0x41A33C73 --use-agent
2015-10-01 19:20:19.050 [DEBUG]   enigmail> DONE
2015-10-01 19:20:19.224 [DEBUG] enigmail.js: Setting useAgent to true for gpg2 >= 2.0.16
2015-10-01 19:20:20.151 [DEBUG] enigmailCommon.jsm: encryptMessageEnd: uiFlags=16, sendFlags=00000101, outputLen=10
2015-10-01 19:20:20.151 [DEBUG] enigmailCommon.jsm: parseErrorOutput: status message: 
[GNUPG:] BEGIN_SIGNING H8
[GNUPG:] PINENTRY_LAUNCHED 20874
gpg: échec de la signature : Opération annulée
[GNUPG:] FAILURE sign 83886179
gpg: [stdin]: clearsign failed: Opération annulée

2015-10-01 19:20:20.154 [DEBUG] enigmailCommon.jsm: parseErrorOutput: statusFlags = 00000000
2015-10-01 19:20:20.154 [DEBUG] enigmailCommon.jsm: parseErrorOutput(): return with errorMsg = gpg: échec de la signature : Opération annulée
gpg: [stdin]: clearsign failed: Opération annulée
2015-10-01 19:20:20.154 [DEBUG] enigmailCommon.jsm: encryptMessageEnd: command execution exit code: 2
2015-10-01 19:20:21.894 [ERROR] mimeEncrypt.js: caught exception: undefined
Message: 'undefined'
File:    undefined
Line:    undefined
Stack:   undefined
2015-10-01 19:20:22.462 [DEBUG] enigmailMsgComposeOverlay.js: ECSL.ComposeProcessDone: 2147500037
2015-10-01 19:20:22.462 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.removeAttachedKey: 
2015-10-01 19:20:32.611 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.setMenuSettings: postfix=
2015-10-01 19:20:32.612 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:34.438 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.setMenuSettings: postfix=
2015-10-01 19:20:34.438 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:34.439 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.setMenuSettings: postfix=
2015-10-01 19:20:34.439 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:36.114 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.setMenuSettings: postfix=
2015-10-01 19:20:36.115 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:36.115 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.setMenuSettings: postfix=
2015-10-01 19:20:36.115 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:39.739 [DEBUG] enigmailMessengerOverlay.js: updateOptionsDisplay: 
2015-10-01 19:20:39.739 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:40.379 [DEBUG] enigmailMessengerOverlay.js: updateOptionsDisplay: 
2015-10-01 19:20:40.379 [DEBUG] commonFuncs.jsm: collapseAdvanced:
2015-10-01 19:20:41.546 [DEBUG] enigmailCommon.js: EnigInitCommon: id=enigmailViewFile
2015-10-01 19:20:41.569 [DEBUG] enigmailHelp.js: enigLoadPage
2015-10-01 19:20:41.569 [DEBUG] enigmailCommon.jsm: getFrame: name=contentFrame

編輯: 我嘗試降級 gpg2/gpg-agent 2.0.28-3 版本(測試/穩定版可用),現在,Enigmail 拒絕識別我的舊密鑰。但是,當我將 agin 升級到版本 2.1.8 時,apt-listbugs 警告我:

...
bogues de gravité grave sur gnupg2 (2.0.28-3 -> 2.1.8-1) <En attente de traitement>
b1 - #795639 - automated secret key import process for gpg2.1 skips some keys
bogues de gravité serious sur gnupg-agent (2.0.28-3 -> 2.1.8-1) <En attente de traitement>
b2 - #796931 - gnupg-agent: no longer writes $GNUPGHOME/gpg-agent-info-    $(hostname) file
Résumé :
gnupg-agent(1 bogue), gnupg2(1 bogue)

稍後我會嘗試其他版本

相關內容