Guest User

Untitled

a guest
Jan 15th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. import jwt
  2. cert_string = "-----BEGIN CERTIFICATE-----nMIICITCCAYqgAwIBAgIIBEsUSxL..."
  3. token_string = "eyJhbGciOiJSUzI1NiIsImtpZCI6I..."
  4. jwt.decode(token_string, cert_string, algorithms=['RS256'])
  5.  
  6. File "<stdin>", line 1, in <module>
  7. File "~/.virtualenvs/project/lib/python2.7/site-packages/jwt/api.py", line 117, in decode
  8. key, algorithms, **kwargs)
  9. File "~/.virtualenvs/project/lib/python2.7/site-packages/jwt/api.py", line 176, in _verify_signature
  10. key = alg_obj.prepare_key(key)
  11. File "~/.virtualenvs/project/lib/python2.7/site-packages/jwt/algorithms.py", line 165, in prepare_key
  12. key = load_pem_public_key(key, backend=default_backend())
  13. File "~/.virtualenvs/project/lib/python2.7/site-packages/cryptography/hazmat/primitives/serialization.py", line 24, in load_pem_public_key
  14. return backend.load_pem_public_key(data)
  15. File "~/.virtualenvs/project/lib/python2.7/site-packages/cryptography/hazmat/backends/multibackend.py", line 285, in load_pem_public_key
  16. return b.load_pem_public_key(data)
  17. File "~/.virtualenvs/project/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 716, in load_pem_public_key
  18. self._handle_key_loading_error()
  19. File "~/.virtualenvs/project/lib/python2.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 912, in _handle_key_loading_error
  20. raise ValueError("Could not unserialize key data.")
  21. ValueError: Could not unserialize key data.
  22.  
  23. from cryptography.x509 import load_pem_x509_certificate
  24. from cryptography.hazmat.backends import default_backend
  25. load_pem_x509_certificate(cert_string, default_backend())
  26.  
  27. cert_string = "".join(cert_string.strip().split("n")[1:-1])
  28. der = a2b_base64(cert_string)
  29. cert = DerSequence()
  30. cert.decode(der)
  31. tbsCertificate = DerSequence()
  32. tbsCertificate.decode(cert[0])
  33. subjectPublicKeyInfo = tbsCertificate[6]
  34. pub_key = RSA.importKey(subjectPublicKeyInfo)
  35. jwt.decode(token_string, pub_key)
  36.  
  37. from cryptography.x509 import load_pem_x509_certificate
  38. from cryptography.hazmat.backends import default_backend
  39.  
  40. cert_str = "-----BEGIN CERTIFICATE-----MIIDETCCAfm..."
  41. cert_obj = load_pem_x509_certificate(cert_str, default_backend())
  42. public_key = cert_obj.public_key()
  43.  
  44. token_string = "eyJhbGciOiJSUzI1NiIsImtpZCI6I..."
  45. jwt.decode(token_string, public_key, algorithms=['RS256'])
  46.  
  47. import jwt
  48.  
  49. pemfile = open("id_rsa", 'r')
  50. keystring = pemfile.read()
  51. pemfile.close()
  52. token = jwt.encode(payload, keystring, algorithm='RS256')
  53.  
  54. import jwt
  55.  
  56. pemfile = open("id_rsa.pub", 'r')
  57. keystring = pemfile.read()
  58. pemfile.close()
  59. payload = jwt.decode(toekn, keystring, verify=True)
  60.  
  61. import jwt
  62. from cryptography.hazmat.backends import default_backend
  63. from cryptography.hazmat.primitives import serialization
  64. key = b"""-----BEGIN PUBLIC KEY-----
  65. MIIBI....<<Your public key basically>>
  66. -----END PUBLIC KEY-----"""
  67. public_key = serialization.load_pem_public_key(key, backend=default_backend())
  68. print(jwt.decode(token, public_key))
Add Comment
Please, Sign In to add comment