Enigmail tidak dapat berkomunikasi dengan agen gpg

10

Memperbarui

Pada Ubuntu 16.04, plug-in berfungsi seperti yang diharapkan dan tidak perlu menurunkan versi seperti yang disarankan dalam jawaban yang diterima. Pertanyaan itu berlaku untuk Ubuntu 15.04 dan, mungkin , 15.10.


Pos Asli

Saya telah menggunakan Thunderbird + Enigmail selama bertahun-tahun. Saat ini saya menggunakan Thunderbird 38.5.1, Enigmail versi 1.9 (20160223-1641), dan GPG 2.0.26 di PC pekerjaan saya (Ubuntu 15.04 64-bit, dengan Gnome Shell).

Beberapa hari yang lalu, setelah 1 tahun operasi, Enigmail tiba-tiba mulai mengeluh dengan kesalahan berikut setiap kali saya mencoba mengirim email yang ditandatangani atau dienkripsi:

GnuPG melaporkan kesalahan dalam komunikasi dengan gpg-agent (komponen GnuPG).

Ini adalah kesalahan pengaturan atau konfigurasi sistem yang mencegah Enigmail bekerja dengan benar dan tidak dapat diperbaiki secara otomatis.

Kami sangat menyarankan Anda berkonsultasi dengan situs web dukungan kami di https://enigmail.net/faq .

Saya telah melewati halaman FAQ dan mencoba beberapa hal, tetapi saya belum dapat menyelesaikan masalah.

The pinentryperintah bekerja dengan baik, dan menunjukkan yang pinentry-qt4window (yaitu tidak berbasis teks):

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

Namun, gpg-agent-connectperintah gagal:

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

Saya sudah mencoba menonaktifkan gnome keyring seperti yang disarankan, tetapi tidak berhasil juga. (Ya, saya memang me-restart sistem di-antara, tetapi saya juga ingin tetap mengaktifkan keyring seperti biasa.) Saya juga mencoba mengekspor dan mengimpor kembali pengaturan Enigmail saya (yaitu mengubah nama $HOME/.gnupg/menjadi sesuatu yang lain sementara itu), tetapi itu berhasil tidak bekerja juga.

Anehnya, ketika saya memulai gpg-agentsecara manual dari shell, dan kemudian mulai Thunderbird, sepertinya berkomunikasi dengan gpg-agent, seperti yang ditunjukkan di bawah ini:

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

Saya tidak melihat output apa pun jika saya mencoba mengirim email yang ditandatangani dan / atau dienkripsi. Ini hanya muncul ketika Thunderbird dimulai.

Selain itu, saya menambahkan /usr/bin/gpg-agent --daemonperintah sebagai aplikasi startup di panel Aplikasi Startup Gnome, tetapi tidak ada bedanya.

Saya pikir saya menerapkan pembaruan rutin sekitar 2/23, tetapi masalah tidak menjadi terlihat sampai sistem di-restart pada 2/24 minggu ini. Sayangnya, saya tidak ingat paket mana yang diperbarui, tetapi jumlahnya tidak banyak. (Saya biasanya menjaga sistem diperbarui.)

Harap dicatat bahwa ini telah bekerja tanpa masalah selama bertahun-tahun, hingga sekitar 2 hari yang lalu. (Saya juga telah menggunakan pengaturan ini di PC desktop rumah saya selama 4 tahun + tanpa masalah, tetapi PC pekerjaan saya adalah laptop, dan Ubuntu terkadang tidak berfungsi dengan baik di sana karena alasan yang tidak diketahui ...)

Ketika saya mencoba untuk membuka email terenkripsi yang saya terima (atau konsep tersimpan, yang juga dienkripsi), saya mendapatkan pesan kesalahan yang sama tentang gpg-agent, tetapi tidak mendekripsi pesan email setelah meminta saya untuk frase pass kunci pribadi saya.

T: Bagaimana saya bisa mengatasi kesalahan komunikasi ini yang mencegah saya mengirim email yang ditandatangani / dienkripsi?

Agar masalah dapat diperbaiki, situasinya harus kembali berfungsi secara normal tanpa pesan kesalahan, dll.

Terima kasih sebelumnya atas bantuan yang dapat Anda berikan untuk membantu memperbaiki masalah ini.


Ketika saya sedang menulis posting ini, saya perhatikan pesan berikut dari gpg-agentdaemon di terminal:

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

Ini muncul secara tak terduga, karena saya tidak meminta Thunderbird untuk melakukan sesuatu khususnya pada saat itu.


Saya memperbarui dari 15.04 -> 15.10 -> 16.04 dan dapat mengkonfirmasi bahwa Thunderbird 38.6 + Enigmail 1.9.1 bekerja secara normal untuk saya. Output dari perintah juga adalah apa yang seharusnya:

➜  ~ 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
code_dredd
sumber
Mungkin terkait: sourceforge.net/p/enigmail/bugs/575
Socob
@ Socob: Di mana Anda akan memeriksa apakah ERROR check_hijackbenar-benar dipancarkan? FAQ muncul kedaluwarsa dan saya tidak yakin di mana opsi untuk melihat log debug Enigmail lagi.
code_dredd
Sayangnya saya tidak yakin, saya baru saja memeriksa pelacak bug Enigmail dan melihat masalah itu di bagian paling atas yang sepertinya menyebabkan masalah ini. Selain itu, saya mengalami masalah yang sama seperti Anda (Enigmail memberikan pesan kesalahan ini setelah bekerja tanpa masalah untuk waktu yang sangat lama). Saya akan mencoba untuk menyingkirkan itu ketika saya punya waktu.
Socob
@ Socob: Kedengarannya bagus. Ini bukan pertama kalinya saya mengalami masalah ini. Pertama kali saya mengalami masalah ini, tanggal penggantian PC saya cukup dekat, jadi saya mengabaikannya setelah menghabiskan beberapa jam untuk memperbaikinya. Saya tidak bisa mengabaikannya kali ini, dan saya telah menghabiskan beberapa jam lagi. Saya akan terus berusaha dari waktu ke waktu. Semoga Anda memiliki keberuntungan yang lebih baik daripada saya.
code_dredd
1
Masalah yang sama disini. Enigmail > Debugging Options > View Logmengungkapkan WARNING: The GNOME keyring manager hijacked the GnuPG agent. Jadi saya cukup yakin GnomeKeyring terkait. echo | gpg2 --signmengungkapkan masalah pada CLI. Sayangnya menonaktifkan gnome-keyring (sebagai satu-satunya solusi) bukanlah pilihan bagi saya.
meisterluk

Jawaban:

5

Sementara jawaban dari yang lain hanya menunjukkan bagaimana menyelesaikannya pada sistem Debian, pendekatannya sama:

Penurunan peringkat.

Sejak Enigmail merilis versi 1.9 pada tanggal 23 Februari dan masalah dimulai sejak hari itu, hanya tiga solusi adalah:

  1. Tunggu Enigmail untuk menyelesaikan masalah dan menginstal pembaruan mereka ke 1.9.x dan berhenti menggunakan enkripsi sampai mereka menyediakan pembaruan
  2. Gali sendiri dan selesaikan masalahnya (yang tidak semua orang mampu lakukan karena keterbatasan pengetahuan arsitektur perangkat lunak yang mendasarinya)
  3. Turunkan versi ke 1.8.2, lalu tunggu Enigmail untuk menyelesaikan masalah dan tingkatkan ke 1.9.x yang menyelesaikan kesalahan yang terjadi dengan 1.9.

Saya tidak dapat membantu dengan 1 atau 2, tetapi dengan nomor 3:

  • Unduh Enigmail 1.8.2 , yang merupakan versi pra-1.9 terbaru yang tidak memperkenalkan kesalahan
  • Hapus instalasi Enigmail 1.9 melalui menu Thunderbird Add-ons
  • Dari dalam menu yang sama, instal file 1.8.2 yang diunduh secara manual dengan mengklik tombol Add-on configuration di bagian atas halaman Thunderbird Add-ons, di sebelah kiri dari kolom entri teks pencarian
  • Mulai ulang Thunderbird

Seharusnya sekarang berfungsi seperti sebelum pembaruan ke Enigmail 1.9.

Saya akan menyarankan untuk menonaktifkan pembaruan otomatis untuk Enigmail sampai bug yang diperkenalkan pada 1.9 ini telah diselesaikan. Anda dapat menonaktifkannya dengan mengklik tautan "lainnya" yang ada di teks deskripsi ekstensi Enigmail di halaman Pengaya Thunderbird.

Dedak
sumber
Saya pikir maksud Anda “Saya tidak dapat membantu dengan 1 atau 2 , tetapi dengan nomor 3 ”.
Socob
1
@ Bar: Perhatikan bahwa setelah beralih versi Enigmail Anda mungkin mendapatkan pesan kesalahan tentang kunci Anda yang tidak ditemukan atau "kedaluwarsa", bahkan setelah memulai ulang Thunderbird. Saya benar-benar harus me-restart PC saya untuk menyiasatinya. Baik atau buruk, ini sepertinya satu-satunya solusi praktis saat ini. Alih-alih merusak perangkat lunak mereka, mereka seharusnya memberi pengguna pilihan untuk memilih apa yang harus dilakukan (misalnya mengizinkan interaksi melalui gnome keyring)
code_dredd
1
Pesan aktual:Enigmail Key ... not found or not valid. The (sub-)key might have expired.
code_dredd
Yah, karena laporan bug dibuat oleh salah satu pengelola tentang hal ini segera setelah dirilis, sepertinya itu bukan perubahan yang disengaja. Anehnya, laporan bug yang dimaksud telah dihapus sekarang, meskipun ...
Socob
Pendekatan karya @thisthatother untuk ubuntu juga, lihat packages.ubuntu.com/search?keywords=enigmail ... Ubuntu menyediakan Enigmail sebagai apckage dengan versi 1.8.2 saat ini untuk semua versi ubuntu.
Matthias
5

Terima kasih banyak atas masukan terperinci semua orang tentang masalah ini.

Saya memiliki masalah yang sama sejak sistem saya diperbarui ke Enigmail 1.9 pada 25 Februari. Saya memperbaiki masalah dengan menghapus instalasi Enigmail 1.9 dan beralih ke 1.8.

Bagi saya, ini mudah karena saya menggunakan Debian 8 dan saya cukup menghapus Enigmail sebagai addon mandiri dan menggantinya dengan rendisi utama repo debian Enigmail (yang, beberapa penelitian menunjukkan, kebetulan adalah versi 1.8.2 ). Mengangkat bahu. Tidak punya masalah sejak perubahan itu. Saya harap itu bermanfaat bagi orang lain dan sekali lagi terima kasih telah menempatkan saya di jalur yang benar untuk menyelesaikan masalah.

ini juga
sumber
terima kasih kepada poster sebelumnya untuk info terperinci yang membantu saya menemukan solusi untuk kasus khusus saya. saya berharap ia bekerja keluar untuk orang lain juga
thisthatother
Temuan yang menarik. Namun, saya tidak menggunakan Debian, dan sementara solusi khusus Debian mungkin bekerja untuk beberapa orang, lebih baik menggunakan solusi yang lebih umum.
code_dredd
1
Bagaimanapun, ini seharusnya bisa digunakan - seseorang hanya perlu mendapatkan versi Enigmail yang lebih lama (saya rasa seharusnya tidak ada masalah kompatibilitas dengan file .xpi).
Socob
Solusi ini memperbaiki masalah bagi saya juga. Tidak ada masalah sejak itu.
Matthias
2

Tidak perlu menurunkan plugin enigmail:

  • Daftar barang
  • Ubuntu 16.04
  • Thunderbird 45.2.0
  • Enigmail 1.9.5
  • gpg (GnuPG) 1.4.20

Di terminal:

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

(--use-standard-socket sudah usang)

Tidak perlu memulai ulang Thunderbird.

0xFAb
sumber
Benar. Saya telah menyatakan tidak perlu downgrade sebagai komentar, tetapi saya telah memperbarui posting untuk membuatnya sangat terlihat.
code_dredd
1

Saya memiliki masalah yang sama dalam arti bahwa Enigmail tiba-tiba melemparkan pesan kesalahan ini pada setiap operasi setelah bekerja selama berbulan-bulan. Menonaktifkan komponen Agen Kata Sandi GPG dari GNOME Keyring menyelesaikan masalah ini untuk saya - Enigmail kemudian menggunakan "asli" gpg-agentdengan program pinentry (bukan prompt frasa sandi GNOME Keyring) dan semuanya berfungsi tanpa masalah.

Saya menonaktifkan komponen kata sandi GNOME Keyring GPG menggunakan program "Aplikasi Startup" Ubuntu default:

Menonaktifkan Agen Kata Sandi GPG (dari GNOME Keyring) menggunakan “Aplikasi Startup”

Anda mengatakan bahwa Anda memang mencoba menonaktifkan GNOME Keyring dan bahwa Anda menggunakan GNOME Shell. Mungkin itu tidak berfungsi dengan benar? Anda dapat mencoba menggunakan langkah-langkah yang sama yang saya miliki (Aplikasi Startup / Unity) dan melihat apakah itu mengubah sesuatu.

Tampaknya masalah ini disebabkan oleh pembaruan terkini di Enigmail (versi 1.9 dirilis pada 23 Februari 2016) karena sebelumnya, ini dapat digunakan dengan GNOME Keyring tanpa menghasilkan kesalahan ini. Fakta bahwa menonaktifkan GNOME Keyring menyelesaikan masalah (dan waktunya) menunjukkan bahwa bug Enigmail # 575 terkait.

Socob
sumber
Saya bisa menggali lebih dalam kemarin ini. Saya menemukan ERROR hijackpesan itu muncul di log. Saya telah mencoba menonaktifkan opsi yang sama dengan yang Anda miliki di sana, tetapi masalahnya adalah ketika saya melakukan itu, maka tidak pernah dapat diajak bicara gpg-agentkarena pinentryprompt untuk frasa sandi tidak pernah muncul (yaitu saya mendapatkan pesan kesalahan yang berbeda sebelumnya untuk setiap upaya komunikasi dengan gpg-agent). Saya akan mencoba lagi ketika saya kembali bekerja besok.
code_dredd
Tautan bug Enigmail rusak ...
xuhdev
@ xuhdev Ya, bug telah dihapus tidak lama setelah pembuatan. Saya tidak tahu mengapa.
Socob