如果我不手动启动 gpg-agent,为什么在 Debian 上使用 Enigmail 和 Icedove 会失败?

如果我不手动启动 gpg-agent,为什么在 Debian 上使用 Enigmail 和 Icedove 会失败?

我在 Debian Sid 安装中使用 Icedove,现在我尝试使用 Enigmail。但我遇到了一些问题:

  • 我必须用 而不是 Enigmail 来创建密钥gpg2,因为它不想创建撤销密钥。
  • 现在我可以使用自己创建的密钥,但我必须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 拒绝识别我的旧密钥。但是,当我再次升级到 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)

我稍后会尝试其他版本

相关内容