IdentityPython / pyjwkest

Implementation of JWT, JWS, JWE and JWK
Apache License 2.0
92 stars 55 forks source link

Wrong cffi version assertion #75

Closed wikier closed 7 years ago

wikier commented 7 years ago

With a regular installation (pip install pyjwkest) I get a cffi assertion error:

>>> import jwkest.jwk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/wikier/.local/lib/python3.5/site-packages/jwkest/jwk.py", line 11, in <module>
    from Cryptodome.PublicKey import RSA
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/PublicKey/RSA.py", line 79, in <module>
    from Cryptodome.IO import PKCS8, PEM
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/IO/PKCS8.py", line 73, in <module>
    from Cryptodome.IO._PBES import PBES1, PBES2, PbesError
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/IO/_PBES.py", line 44, in <module>
    from Cryptodome.Cipher import DES, ARC2, DES3, AES
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Cipher/__init__.py", line 78, in <module>
    from Cryptodome.Cipher._mode_ecb import _create_ecb_cipher
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Cipher/_mode_ecb.py", line 29, in <module>
    from Cryptodome.Util._raw_api import (load_pycryptodome_raw_lib,
  File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Util/_raw_api.py", line 39, in <module>
    ffi = FFI()
  File "/home/wikier/.local/lib/python3.5/site-packages/cffi/api.py", line 59, in __init__
    "version mismatch, %s != %s" % (backend.__version__, __version__)
AssertionError: version mismatch, 1.7.0 != 1.8.3

Which I manage to fix by manually forcing the version:

pip install cffi==1.7.0

So that needs to be declared in the package dependencies.

rohe commented 7 years ago

7 nov. 2016 kl. 10:37 skrev Sergio Fernández notifications@github.com:

With a regular installation (pip install pyjwkest) I get a cffi assertion error:

import jwkest.jwk Traceback (most recent call last): File "", line 1, in File "/home/wikier/.local/lib/python3.5/site-packages/jwkest/jwk.py", line 11, in from Cryptodome.PublicKey import RSA File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/PublicKey/RSA.py", line 79, in from Cryptodome.IO import PKCS8, PEM File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/IO/PKCS8.py", line 73, in from Cryptodome.IO._PBES import PBES1, PBES2, PbesError File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/IO/_PBES.py", line 44, in from Cryptodome.Cipher import DES, ARC2, DES3, AES File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Cipher/init.py", line 78, in from Cryptodome.Cipher._mode_ecb import _create_ecb_cipher File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Cipher/_mode_ecb.py", line 29, in from Cryptodome.Util._raw_api import (load_pycryptodome_raw_lib, File "/home/wikier/.local/lib/python3.5/site-packages/Cryptodome/Util/_raw_api.py", line 39, in ffi = FFI() File "/home/wikier/.local/lib/python3.5/site-packages/cffi/api.py", line 59, in init "version mismatch, %s != %s" % (backend.version, version) AssertionError: version mismatch, 1.7.0 != 1.8.3

Which I manage to fix by manually forcing the version:

pip install cffi==1.7.0

So that needs to be declared in the package dependencies.

This is not really a pyjwkest issue, it’s pycryptodome that needs that version of cffi.

-- Roland "Education is the path from cocky ignorance to miserable uncertainty.” - Mark Twain

wikier commented 7 years ago

OK, thanks.