Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.85k stars 451 forks source link

ValueError: Could not deserialize key data. #4134

Closed sbadux closed 5 years ago

sbadux commented 5 years ago

Tribler version/branch+revision: 26/12/2018 git code Operating system and version: Fedora 29

Hello, I'm trying to make tribler run on my Fedora 29. I've installed all the python modules required once at a time. But I'm now stuck on this error:

[enrico@enrico-fedora tribler]$ ./tribler.sh ERROR:root:Fault Handler module not found. INFO 1545825900.74 single_application:23 (root) __init__() INFO 1545825900.82 single_application:49 (root) self._outSocket.error() = '0' INFO 1545825900.82 single_application:52 (root) received QLocalSocket.ConnectionRefusedError; removing server. INFO 1545825900.82 single_application:64 (root) close() INFO 1545825900.82 single_application:71 (root) close(): returning INFO 1545825900.82 single_application:60 (root) __init__(): returning INFO 1545825901.82 event_request_manager:151 (TriblerGUI) Will connect to events endpoint INFO 1545825901.85 event_request_manager:53 (TriblerGUI) Got Tribler core error: 1 Traceback (most recent call last): File "run_tribler.py", line 94, in <module> start_tribler_core(base_path, api_port) File "run_tribler.py", line 45, in start_tribler_core from Tribler.Core.Session import Session File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/Core/Session.py", line 20, in <module> from Tribler.Core.APIImplementation.LaunchManyCore import TriblerLaunchMany File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/Core/APIImplementation/LaunchManyCore.py", line 42, in <module> from Tribler.pyipv8.ipv8.peerdiscovery.community import DiscoveryCommunity File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/peerdiscovery/community.py", line 18, in <module> class DiscoveryCommunity(Community): File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/peerdiscovery/community.py", line 21, in DiscoveryCommunity master_peer = Peer(unhexlify("3081a7301006072a8648ce3d020106052b81040027038192000403b3ab059ced" File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/peer.py", line 23, in __init__ self.key = default_eccrypto.key_from_public_bin(key) File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/keyvault/crypto.py", line 108, in key_from_public_bin return M2CryptoPK(keystring=string) File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/keyvault/public/m2crypto.py", line 32, in __init__ encodestring(keystring)) File "/home/enrico/Scaricati/Tribler-v7.1.3/tribler/Tribler/pyipv8/ipv8/keyvault/public/m2crypto.py", line 48, in key_from_pem return serialization.load_pem_public_key(pem, backend=default_backend()) File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/primitives/serialization.py", line 24, in load_pem_public_key return backend.load_pem_public_key(data) File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1040, in load_pem_public_key self._handle_key_loading_error() File "/usr/lib64/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1291, in _handle_key_loading_error raise ValueError("Could not deserialize key data.") ValueError: Could not deserialize key data. INFO 1545825927.32 run_tribler:139 (root) Shutting down Tribler It doesn't seem to be related to some python module, but it seems some kind of m2crypto issue.

I've attached a screenshot which may be more readable. immagine

devos50 commented 5 years ago

Thank you for your report! We had some issues in the past with the M2Crypto library on Fedora 29 since Fedora does not ship the required elliptic curve support by default. See https://github.com/Tribler/tribler/issues/893.

Unfortunately, the only workaround is to build the M2Crypto yourself, with the required ec25519 curve. You could also consider using a different Linux distribution (Tribler works correctly on Ubuntu/Debian and we recently support archlinux). Note that we will soon drop the M2Crypto library from Tribler and only rely on libsodium. When this will be done is not sure yet.

Since this is not a bug in Tribler itself, I will close this issue. Please let us know if you have any other questions, or need help with building M2Crypto 👍

sbadux commented 5 years ago

Thanks a lot for your reply. In the future do you think you will release a appimage/snap/flatpack app? I'm not sure if it will be possibile, but this kind of packages are good for the users :)

devos50 commented 5 years ago

We have discussed Snap packages already and we have plans to make them. However, this is not very high on our priority list since we have more pressing issues (i.e. stability of Tribler itself) and our new (giga)channel functionalities :)

sbadux commented 5 years ago

Ok. I'll wait for the next releases. Thanks a lot for your work.