Enigmail không yêu cầu mật khẩu pgp nhưng nói không có khóa


8

giải mã email bằng enigmail trong thunderbird không hoạt động nữa. Đó là bởi vì tôi không có cơ hội để nhấn vào cụm mật khẩu của mình, một hình thức yêu cầu tôi sử dụng để bật lên, bây giờ thì không và tôi nhận được thông báo này:

Lỗi - không tìm thấy khóa riêng / bí mật phù hợp để giải mã tin nhắn; nhấp vào nút 'Chi tiết' để biết thêm thông tin

Khóa riêng có sẵn mặc dù, vì

gpg -d Desktop/mail.eml     

làm cho hình thức xuất hiện. Sau khi điền mật khẩu, tôi có thể đọc thư được giải mã trong thiết bị đầu cuối.

Một gợi ý khác cho một vấn đề với cụm mật khẩu xuất hiện khi tôi tạo các khóa mới ngày hôm nay. Tôi không thể tạo chứng nhận hủy bỏ vì không có cụm mật khẩu. Mà, một lần nữa, là không đúng sự thật.

Lần đầu tiên tôi nhận thấy vấn đề vào thứ Hai ngày 31 tháng Tám.

Tôi đã kiểm tra internet một chút và sau đó làm như sau:

  1. Đảm bảo một phiên bản của gpg-agent đang chạy:

    gpg-agent -v
    

    trả lại

    gpg-agent: gpg-agent running and available
    

    Nội dung của .gnupg / gpg-agent.conf:

    default-cache-ttl 0
    max-cache-ttl 0

  2. Đi đến dconf Editor desktop->gnome->crypto->cachevà đặt gpg-cache-ttlthành0

  3. Thunderbird Enigmail->Clear Saved Passphrases đưa ra một cảnh báo Enigmail nói:

    Bạn đang sử dụng gpg-agent để xử lý cụm mật khẩu. Do đó, việc xóa cụm mật khẩu là không thể thực hiện được trong Enigmail.

    Thunderbird Enigmail->Preferences->Basic Remember passphrase for 0 minutes of idle time

  4. Hãy gpg-agentquên mật khẩu của tôi:

    pkill -SIGHUP gpg-agent
    
  5. Seahorse->GnuPG keys xóa tất cả các khóa và nhập lại chúng

Không ai trong danh sách đó làm cho bất kỳ sự khác biệt cho vấn đề. Tôi tự hỏi, làm thế nào để tôi nhận được Enigmail để hỏi lại cụm mật khẩu của mình?

Cảm ơn trước!
Phế quản

Biên tập

  1. Loại bỏ /etc/xdg/autostart/gnome-keyring-gpg.desktopkhông làm gì cả.
  2. Loại bỏ seahorsekhông làm gì cả.
  3. Sử dụng decrypt-file:

    Couldn't decrypt file: mail.eml.pgp
    Bad passphrase
    

Cài đặt pinentry-gtk2trên Ubuntu với Unity
Natim

Tôi cũng gặp vấn đề này, nhưng kỳ lạ là tôi có thể ký email của riêng mình, nhưng nó cũng đưa ra thông điệp tương tự của bạn khi tôi thử giải mã các tin nhắn được ký với pubkey của mình.
Geremia

Câu trả lời:


7

Hãy thử điều này: https://www.enigmail.net/support/gnupg2_issues.php Trong trường hợp của tôi, tôi cần cài đặt một phiên bản chính xác của pinentry (gói pinentry-qt4).

"Giải quyết các vấn đề với GnuPG 2.x và gpg-agent

Lưu ý GnuPG 2.x yêu cầu "tác nhân" để xử lý cụm mật khẩu. Theo mặc định, điều này được thực hiện bởi gpg-agent, nhưng có các công cụ khác thực hiện một tập hợp con chức năng của nó. Các hướng dẫn này chỉ dành cho đại lý gpg. Nếu bạn sử dụng một tác nhân như gnome-keyring, seahorse-agent hoặc KDE Wallet Manager, thì những hướng dẫn này không được áp dụng. Vấn đề phổ biến nhất

Triệu chứng

Vấn đề phổ biến nhất là gpg-agent (một phần của GnuPG) không thể khởi chạy pinentry (công cụ được sử dụng để truy vấn cụm mật khẩu của bạn). Enigmail sẽ hiển thị các thông báo như:

when reading messages:
Error - no matching private/secret key found to decrypt message; click on 'Details' button for more information

when sending messages:
- Send operation aborted. Error - encryption command failed
- Send operation aborted. Key 0x....... not found or not valid. The (sub-)key might have expired

Cách phân tích

Try sending a signed and unencrypted message to yourself.
Check the output in the Enimgail log: go to menu Enigmail > Debugging Options > View Log.
Search for the following text: parseErrorOutput: status message. You will probably find this message several times. Check what follows below.
If the message says something like "no pinentry", "problem with the agent", "Invalid IPC response" or "problem with gpg-agent", then there is something wrong with your gpg-agent and/or pinentry setup.

Cách khắc phục

Execute the following script from a terminal to find out if a graphical version of pinentry is used:

pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT

You should get a graphical window with a confirmation message "Hello World". If a "window" is opened within your terminal window then pinentry is text-based, which does not work with Enigmail. To fix this, ensure that a graphical version of pinentry is installed. On Linux/Unix systems, these would typically be pinentry-qt/pinentry-qt4 or pinentry-gtk/pinentry-gtk2, and on Mac OS X pinentry-mac. Rename the existing pinentry file to "pinentry-text" or similar, and create a symlink from pinentry-qt, pinentry-qt4, pinentry-gtk, pinentry-gtk2 or pinentry-mac to pinentry. Then restart your PC.

If the above does not help, check the contents of $HOME/.gnupg/gpg-agent.conf. Make sure that there is a configuration entry pinentry-program containing the full path to a graphical version of pinentry as above. E.g.:

pinentry-program /usr/local/bin/pinentry-gtk

Then save the file and restart your PC.

If you still can't access your key, then execute the following script from a terminal:

gpg-connect-agent <<EOT
GETINFO version
EOT

The output should be something like the text below, where 2.0.26 represents the agent version number. The version number should match your gpg version number:

D 2.0.26
OK

If you get an error message like "ERR 280 not implemented" then you don't use gpg-agent, but one of the alternatives like gnome-keyring. We recommend you switch to gpg-agent by disabling your current agent. See e.g. askubuntu for how to disable gnome-keyring or how to disable KDE wallet.

If you get a useful result from above, then execute the following script from a terminal:

gpg-connect-agent <<EOT
GET_CONFIRMATION Hello
EOT

Pinentry should now open as a graphical window (just like above), with the difference to the step above that this instance of pinentry was launched from gpg-agent. If this is successful, then GnuPG 2 should work correctly in Enigmail.

If gpg-agent still cannot launch pinentry from Enigmail, then you need to start debugging gpg-agent. Execute the following commands from a terminal:

killall gpg-agent
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

This will start gpg-agent from the command line, open a new shell and print the debug output to that shell. If the command succeeded, you will see somehting like:
gpg-agent[76979]: gpg-agent 2.0.26 started
Leave the terminal window untouched, start Thunderbird and try to use Enigmail. As you'll try to access gpg-agent, you will see the output in your terminal window. If gpg-agent cannot start pinentry successfully, you will see something like this:

gpg-agent[76993]: starting a new PIN Entry
gpg-agent[76993]: chan_19 <- ERR 67109133 can't exec `/usr/bin/pinentry': No such file or directory
gpg-agent[76993]: chan_19 -> BYE
gpg-agent[76993]: can't connect to the PIN entry module: IPC connect call failed
gpg-agent[76993]: command get_passphrase failed: No pinentry

Press Ctrl+D in the terminal to end the debugging session. The bold line should tell you the reason for the error (in the example above, pinentry cannot be found). Try to fix the error and repeat the test."

Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Karl Richter

Bit cuối cùng nói "Nếu gpg-agent vẫn không thể khởi chạy pinentry từ Enigmail, thì ..." - nhưng pinentry IF được khởi chạy chính xác, nhưng quá trình giải mã vẫn không hoạt động, hướng dẫn không giúp ích gì ở đây ...
nerdoc

1

Tôi có cùng một vấn đề, nhưng thấy rằng việc giết gpg-agent là một vấn đề.

(Từ mã nguồn tôi thấy rằng bạn có thể kích hoạt ghi nhật ký enigmail bằng cách chỉnh sửa tệp "mặc định / sở thích / enigmail.js" ở đâu đó dưới ~ / .thunderbird, đặt thuộc tính "extend.enigmail.logDirectory" thành "/ tmp". tệp nhật ký "/tmp/enigdbug.txt" sau đó hiển thị lệnh gpg đầy đủ mà enigmail đang chạy, kết thúc bằng "--use-agent". Tôi đã chạy lệnh gpg đó từ dòng lệnh, cung cấp cho nó một thông điệp email được mã hóa. phàn nàn với thông báo lỗi "gpg: vấn đề với tác nhân: Không có mã PIN". Google cho biết thông báo lỗi đó đã đưa ra đề nghị tiêu diệt tác nhân gpg. Trong khi đó, NSA xoa tay vì cho rằng trải nghiệm của người dùng về mã hóa PKI là thật rác rưởi.)


Tôi có vấn đề tương tự như OP. Khéo thay, chạy lệnh chính xác được tìm thấy trong enigdbug.txt mang lại kết quả hoàn hảo. : \
Joel Cross

Không giúp được gì ở đây. Mặc dù, gpg -d message.emlvấn đề tương tự: gpg: public key decryption failed: No passphrase given- mà không yêu cầu tôi cho một cụm mật khẩu
nerdoc

1

Tôi đã có một vấn đề tương tự. Thunderbird đã yêu cầu nhập lại mật khẩu khóa của tôi và khóa Gnome sẽ không nhớ nó, mặc dù tôi đã yêu cầu. Vấn đề là, đó gpg-agentkhông phải là chạy trong phiên của tôi. Vấn đề đã biến mất khi tôi tự khởi động nó trong phiên hiện tại với:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

Để giải quyết vấn đề vĩnh viễn, bạn phải đảm bảo rằng tác nhân đang chạy trong phiên của bạn: 1. Kiểm tra xem bạn có tệp sau không /etc/X11/Xsession.d/90gpg-agent. Của tôi trông như thế này:

  : ${GNUPGHOME=$HOME/.gnupg}

  GPGAGENT=/usr/bin/gpg-agent
  PID_FILE="$GNUPGHOME/gpg-agent-info-$(hostname)"

  if grep -qs '^[[:space:]]*use-agent' "$GNUPGHOME/gpg.conf" "$GNUPGHOME/options" &&
     test -x $GPGAGENT &&
     { test -z "$GPG_AGENT_INFO" || ! $GPGAGENT 2>/dev/null; }; then

     if [ -r "$PID_FILE" ]; then
         . "$PID_FILE"
     fi

     # Invoking gpg-agent with no arguments exits successfully if the agent
     # is already running as pointed by $GPG_AGENT_INFO
     if ! $GPGAGENT 2>/dev/null; then
         STARTUP="$GPGAGENT --daemon --sh --write-env-file=$PID_FILE $STARTUP"
     fi
  fi
  1. Kiểm tra xem bạn có tệp không ~/.gnupg/gpg.conf, với ít nhất dòng sau:

    use-agent
    

Nếu không, bạn có thể thêm nó bằng lệnh sau:

echo "use-agent" >>  ~/.gnupg/gpg.conf 

use-agentkhông cần thiết nữa trong OpenGPG 2.1 - tác nhân được sử dụng trong mọi trường hợp.
nerdoc

0

Có cùng một lỗi lỗi về pinentry. Cuối cùng, tôi phát hiện ra rằng tác nhân gpg đã sử dụng sai pinentry. Đã giải quyết nó bằng cách đặt pinentry đúng bằng cách chỉnh sửa ~ / .gnupg / gpg-agent.conf và thêm dòng sau

pinentry-program /usr/bin/pinentry-gtk-2

Mặc định cho hệ thống tôi đang làm việc là pinentry-x11 (đây là bản cài đặt toàn công ty cho phép nhiều trình quản lý cửa sổ), không hoạt động cho gnome3. - Vì vậy, người ta phải đảm bảo rằng tác nhân gpg đang sử dụng pinentry chính xác cho trình quản lý cửa sổ thực tế đang sử dụng.


0

Trong trường hợp của tôi, chỉ là tôi không có bất kỳ pinentrycông cụ nào ngoại trừ pinentry-curses(dòng lệnh có hỗ trợ con trỏ). Vì vậy, trong Fedora cài đặt bất kỳ hộp thoại nhập mật khẩu / mã PIN nào sau đây:

  • pinentry-qt.x86_64 dựa trên Qt4;
  • pinentry-gtk.x86_64 dựa trên GTK +;
  • pinentry-emacs.x86_64 cho emacs;
  • pinentry-gnome3.x86_64 cho Gnome 3.

Tôi đã sử dụng pinentrygói Gnome 3 .


0

Trong thunderbird, chọn tin nhắn, nhấp vào hamburger, mở rộng menu Enigmail và chọn giải mã / xác minh. Bạn sẽ nhận được lời nhắc mật khẩu sau đó tin nhắn sẽ được giải mã.


Không có sự khác biệt nào ...
nerdoc

Bạn có thể làm rõ? Bạn không nhận được lời nhắc mật khẩu, hoặc tin nhắn không được giải mã?
Ông sai

0

Tôi đã có một vấn đề tương tự! Sau khi gỡ lỗi tác nhân gpg được thực hiện với:

gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh

Tôi phát hiện ra rằng một cái gì đó đã bị phá vỡ giữa enigmail và gpg và nó không bao giờ yêu cầu một cụm mật khẩu. Nhưng trong trường hợp cụm mật khẩu đã được tải sẵn, tất cả đều hoạt động hoàn hảo.

Trong trường hợp của tôi, vấn đề đó là gì, trong quá khứ, tôi đã buộc tùy chọn theo dõi trong ~ / .gnupg / gpg.conf

pinentry-mode loopback

Điều này đã phá vỡ quá trình. Bạn có thể kiểm tra lệnh enigmail đang chạy cho phép chế độ chuyên gia trong Enigmail và sau đó trong "Tùy chọn gỡ lỗi -> Xem bảng điều khiển"

Bình luận và mọi thứ đã làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.