PGP plugin can't decrypt private key with non-ascii passphrase

Versions

  • OS: Linux
  • GTK+ Version: 3.22.30
  • PyGObject Version: 3.26.1
  • python-nbxmpp Version: 0.6.8
  • Gajim Version: 1.0.99.1

Traceback

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gajim/dialogs.py", line 268, in on_okbutton_clicked
    self.ok_handler[0](passph, checked, *self.ok_handler[1:])
  File "/usr/lib/python3/dist-packages/gajim/gui_interface.py", line 2836, in _ok
    result = app.connections[account].test_gpg_passphrase(passphrase)
  File "/usr/lib/python3/dist-packages/gajim/common/connection.py", line 165, in test_gpg_passphrase
    signed = self.gpg.sign('test', keyID)
  File "/usr/lib/python3/dist-packages/gajim/common/gpg.py", line 76, in sign
    passphrase=self.passphrase)
  File "/usr/lib/python3/dist-packages/gnupg.py", line 933, in sign
    result = self.sign_file(f, **kwargs)
  File "/usr/lib/python3/dist-packages/gnupg.py", line 972, in sign_file
    _write_passphrase(stdin, passphrase, self.encoding)
  File "/usr/lib/python3/dist-packages/gnupg.py", line 179, in _write_passphrase
    passphrase = passphrase.encode(encoding)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-7: ordinal not in range(256)
  1. Enable PGP plugin
  2. Try to input non-ascii passphase
  3. KABOOM