Enigmailがgpg-agentと通信できない


10

更新

Ubuntu 16.04以降、プラグインは期待どおりに動作し、承認された回答で提案れているようにダウングレードする必要はありません。この質問はUbuntu 15.04に当てはまり、おそらく 15.10にも当てはまります。


元の投稿

私は何年もThunderbird + Enigmailを使用しています。現在、Thunderbird 38.5.1、Enigmailバージョン1.9(20160223-1641)、およびGPG 2.0.26を仕事用PC(Ubuntu 15.04 64ビット、Gnome Shell付き)で使用しています。

数日前、1年以上の運用後、署名または暗号化されたメールを送信しようとすると、Enigmailが次のエラーで突然不平を言い始めました。

GnuPGがgpg-agent(GnuPGのコンポーネント)との通信でエラーを報告しました。

これはシステムセットアップまたは設定エラーであり、Enigmailが正常に機能しなくなり、自動的に修正できません。

https://enigmail.net/faqのサポートWebサイトを参照することを強くお勧めします 。

よくある質問のページを読み、いくつかのことを試しましたが、まだ問題を解決できていません。

pinentryコマンドは正常に動作し、ショーpinentry-qt4ウィンドウ(すなわちないテキストベース):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

ただし、gpg-agent-connectコマンドは失敗します。

gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented

提案されているようにgnomeキーリングを無効にしてみましたが、どちらも機能しません。(はい、その間にシステムを再起動しましたが、通常どおりキーリングを有効にしたままにしておきます。)また、Enigmail設定をエクスポートして再インポート(つまり$HOME/.gnupg/、その間に別の名前に変更)を試みましたが、どちらも動作しません。

奇妙なことに、gpg-agentシェルから手動で起動してからThunderbirdを起動すると、次のようにと通信しgpg-agentているようです。

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated

署名されたメールや暗号化されたメールを送信しようとしても、何も出力されません。これは、Thunderbirdが起動したときにのみ表示されます。

さらに/usr/bin/gpg-agent --daemon、Gnome Startup Applicationsパネルでコマンドをスタートアップアプリケーションとして追加しましたが、違いはありませんでした。

2/23頃に定期的なアップデートを適用したと思いますが、今週2/24にシステムを再起動するまで問題は明らかになりませんでした。残念ながら、どのパッケージが更新されたか覚えていませんが、それほど多くはありませんでした。(私は通常、システムを更新し続けます。)

これは約2日前まで、何年もの間問題なく機能していたことに注意してください。(私はこのセットアップを自宅のデスクトップPCで4年間以上問題なく使用してきましたが、私の仕事用PCはラップトップであり、Ubuntuは未知の理由でそこでうまく機能しないことがあります...)

私は私が受け取った暗号化された電子メール(またはも暗号化されて保存されたドラフトを、)開こうとすると、私は約同じエラーメッセージが表示されますgpg-agentが、それは私の秘密鍵のパスフレーズのための私を求めた後、電子メールメッセージ解読ありません。

Q: 署名/暗号化されたメールを送信できないこの通信エラーを解決するにはどうすればよいですか?

修正された問題を検討するには、エラーメッセージなどが表示されずに通常の状態に戻る必要があります。

この問題を解決するために提供できるヘルプについて、事前に感謝します。


この投稿を書いているときgpg-agentに、ターミナルのデーモンからの次のメッセージに気付きました。

# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped

その間、Thunderbirdに特に何もするように依頼しなかったので、これは予期せず現れました。


15.04-> 15.10-> 16.04から更新し、Thunderbird 38.6 + Enigmail 1.9.1が正常に動作していることを確認できました。コマンドの出力は、本来あるべき姿でもあります。

➜  ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
➜  ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK


@Socob:ERROR check_hijack実際に放出されているかどうかをどこで確認しますか?FAQは古くなって表示され、Enigmailのデバッグログを表示するオプションがどこにあるのかわかりません。
code_dredd

残念ながら、よくわかりません。Enigmailのバグトラッカーを確認したところ、この問題の原因と思われる問題が一番上にあることがわかりました。余談ですが、私はあなたと同じ問題を抱えています(Enigmailが非常に長い間問題なく動作した後にこのエラーメッセージを表示します)。時間があるときにそれを取り除くために調べてみます。
Socob 2016

@Socob:いいですね。私がこの問題に直面したのはこれが初めてではありません。この問題に初めて遭遇したとき、私のPCの交換日はかなり近かったので、数時間かけて修正しようとして無駄にした。今回は無視できず、また数時間過ごしました。随時挑戦していきます。あなたが私よりも幸運を祈っています。
code_dredd

1
ここでも同じ問題。Enigmail > Debugging Options > View Log明らかにするWARNING: The GNOME keyring manager hijacked the GnuPG agent。したがって、GnomeKeyringが関連していると確信しています。echo | gpg2 --signCLIで問題を明らかにします。(唯一の回避策として)悲しいことにgnome-keyringを無効にすることは私にとって選択肢ではありません。
meisterluk 2016

回答:


5

これに対する答えは、Debianシステムでそれを解決する方法を示しているだけですが、アプローチは同じです。

ダウングレード。

Enigmailが2月23日にバージョン1.9をリリースし、問題がその日から始まったため、解決策は次の3つだけです。

  1. Enigmailが問題を整理して1.9.xへのアップデートをインストールするのを待ち、アップデートが提供されるまで暗号化の使用を停止します
  2. 問題を掘り下げて自分で解決します(基礎となるソフトウェアアーキテクチャの知識が限られているため、誰もができるわけではありません)。
  3. 1.8.2にダウングレードしてから、Enigmailが問題を解決し、1.9で発生したエラーを解決する1.9.xにアップグレードするのを待ちます。

私は1か2を手伝うことはできませんが、3の問題は解決できません:

  • エラーを引き起こさなかった最新の1.9より前のバージョンであるEnigmail 1.8.2をダウンロードします。
  • ThunderbirdのアドオンメニューからEnigmail 1.9をアンインストールします
  • 同じメニュー内から、Thunderbirdのアドオンページ上部の検索テキスト入力フィールドの左側にあるアドオン構成ボタンをクリックして、ダウンロードした1.8.2ファイルを手動でインストールします。
  • Thunderbirdを再起動します

これで、Enigmail 1.9への更新前と同様に動作するはずです。

1.9で導入されたこのバグが解決されるまで、Enigmailの自動更新を無効にすることをお勧めします。ThunderbirdのアドオンページにあるEnigmail拡張機能の説明テキストにある[詳細]リンクをクリックすると、それらを無効にできます。


「私は1か2では手助けできませんが、3で手助けできる」という意味だと思います。
Socob 2016

1
@Bran:Enigmailのバージョンを切り替えた後、Thunderbirdを再起動した後でも、キーが見つからないか「期限切れ」であるというエラーメッセージが表示される場合があります。それを回避するには、実際にPCを完全に再起動する必要がありました。良くも悪くも、これは現時点で唯一の実用的な解決策のようです。彼らはソフトウェアを壊す代わりに、何をすべきかを選択するオプションをユーザーに与えるべきでした(例えばgnomeキーリングを介した対話を許可する)
code_dredd

1
実際のメッセージ:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd

まあ、バグ報告はリリース直後のメンテナの1人によって作成されたので、意図的な変更ではないようです。奇妙なことに、問題のバグレポートは今削除されています...
Socob

@thisthatotherのアプローチはubuntuでも機能します。packages.ubuntu.com/ search?keywords = enigmailを参照してください... Ubuntuは、現在すべてのubuntuバージョンに対して、バージョン1.8.2のapckageとしてenigmailを提供しています。
Matthias

5

この問題について皆の詳細な入力をありがとうございました。

2月25日にシステムをEnigmail 1.9に更新してから、同様の問題が発生しました。Enigmail1.9をアンインストールして1.8に切り替えることで問題を解決しました。

私にとっては、Debian 8を使用し、スタンドアロンのアドオンとしてEnigmailをアンインストールして、DebianのメインリポジトリのEnigmailのレンディション(一部の調査では偶然バージョン1.8.2である)に置き換えるだけなので、これは簡単でした。肩をすくめる。その変更以来、問題はありませんでした。それが他の人に役立つことを願っています。問題を解決する正しい軌道に乗ってくれてありがとう。


私の特定のケースの解決策を理解するのに役立つ詳細な情報を提供してくれた以前のポスターに感謝します。私はそれが同様に他の人のために働きを期待
thisthatother

興味深い発見。ただし、私はDebianを使用していません。Debian固有のソリューションはほんの少しで機能する可能性がありますが、より一般的なソリューションを使用することをお勧めします。
code_dredd

1
ええと、これはどのような場合でも機能するはずです。古いバージョンのEnigmailを入手するだけで十分です(.xpiファイルに互換性の問題があるはずはないと思います)。
Socob 2016

この回避策は私にとっても問題を修正します。それ以来問題はありません。
Matthias

2

enigmailプラグインをダウングレードする必要はありません:

  • リストアイテム
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg(GnuPG)1.4.20

ターミナルで:

killall gpg-agent
export GPG_TTY=$(tty)
gpg-agent --daemon /bin/bash

(--use-standard-socketは廃止されました)

Thunderbirdを再起動する必要はありません。


そうだね。コメントとしてダウングレードする必要はないと述べましたが、投稿を更新して見やすくしました。
code_dredd

1

Enigmailが何ヶ​​月も働いた後、すべての操作で突然このエラーメッセージをスローしたという意味で同じ問題がありました。GNOMEキーリングのGPGパスワードエージェントコンポーネントを無効にすることでこの問題は解決しました– Enigmailはgpg-agent(GNOMEキーリングパスフレーズプロンプトの代わりに)pinentryプログラムで「オリジナル」を使用し、すべてが問題なく機能します。

デフォルトのUbuntu「スタートアップアプリケーション」プログラムを使用して、GNOMEキーリングGPGパスワードコンポーネントを無効にしました。

「スタートアップアプリケーション」を使用して(GNOMEキーリングから)GPGパスワードエージェントを無効にする

あなたはGNOMEキーリングを無効にしようとし、GNOMEシェルを使用していたと言っていました。おそらくそれは正しく機能しませんでしたか?私が持っているのと同じ手順(スタートアップアプリケーション/ Unity)を使用してみて、それが何か変化するかどうかを確認できます。

この問題は、Enigmailの最近の更新(バージョン1.9が2016年2月23日にリリースされた)が原因で発生したようです。以前のバージョンでは、このエラーを生成せずにGNOMEキーリングで使用できました。GNOMEキーリングを無効にすることで問題(およびタイミング)が解決されるという事実は、Enigmailバグ#575が関連していることを示唆しています。


昨日はもう少し掘り下げることができました。ERROR hijackメッセージがログに表示されることがわかりました。私はあなたがすでに持っていたのと同じオプションを無効にしようとしましたが、問題は私がそれをしたとき、それからパスフレーズのプロンプトが表示されないgpg-agentために話しかけることができないpinentryということです(つまり、以前に別のエラーメッセージが表示されます)との通信の試みにgpg-agent)。明日仕事に戻ったら、もう一度やってみます。
code_dredd 2016

Enigmailのバグリンクが壊れています...
xuhdev 2016年

@xuhdevはい、バグは作成直後に削除されました。でも、なぜかはわかりません。
Socob 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.