Why does using Enigmail with Icedove on Debian fail if I don't start gpg-agent manually?

3

1

I'm using Icedove on a Debian Sid installation, and now I try to use Enigmail with it. But I encounter some issues:

  • I had to create my keys with gpg2 instead of Enigmail, because it didn't want to create a revocation key.
  • Now I can use my own created keys, but I have to restart gpg-agent before; otherwise Enigmail says "Error: encryption command failed".

    $ 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
    

    and then it works.

  • If I kill gpg-agent again and if I try to send an encrypted email, gpg-agent restarts by itself, and it don't even work.

  • I followed this guide and everything seems fine.

  • Enigmail uses this command to send:

    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
    

I'm running Icedove 38.2.0 and Enigmail 1.8.2 (20150416-1748). It works neither on Gnome, nor on Cinnamon.

Anyone encountered similar issues ?

Thanks in advance !

Here is the log of 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], foo@foo.com
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="bar@bar.com" bccAddrStr=""
2015-10-01 19:20:18.912 [DEBUG] =====> processRules()
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeOverlay.js: Enigmail.msg.processRules(): toAddrStr="bar@bar.com" bccAddrStr="" forceRecipientSettings=false
2015-10-01 19:20:18.912 [DEBUG] enigmailMsgComposeHelper.js: getRecipientsKeys(): emailAddrs="bar@bar.com" 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='bar@bar.com'
2015-10-01 19:20:18.913 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): emailsOrKeys='bar@bar.com'
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="bar@bar.com"
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: getValidKeyForRecipient():  no key for 'bar@bar.com' found
2015-10-01 19:20:18.954 [DEBUG] enigmailMsgComposeHelper.js: doValidKeysForAllRecipients(): return null (no single valid key found for="bar@bar.com" 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="bar@bar.com" 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

Edit: I tried to downgrade on version 2.0.28-3 of gpg2/gpg-agent (available on testing/stable), and now, Enigmail refuse to recognize my old keys. But, when i upgraded agin to version 2.1.8, apt-listbugs warned me:

...
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)

I'll try with other versions later

guik

Posted 2015-10-01T17:35:58.377

Reputation: 31

I do experience similar issues with Debian Jessie and only GnuPG 2.1 pulled from experimental, so it seems to be an issue with GnuPG 2.1. It did not bother me enough yet to further analyze the issue, but will gladly monitor your question. – Jens Erat – 2015-10-01T20:17:00.343

thanks for your response. i'm using gpg 2.1.8 with libcrypt 1.6.3. Maybe you're right, or maybe a conflict with gpg-agent and seahorse or gnome-keyring...? – guik – 2015-10-02T00:09:34.353

No answers