1

I am trying to create JWT with KID, alg=RS256, TypeError: Expecting a PEM-formatted key. import json

import jwt
from cryptography.hazmat.backends.openssl import rsa
from cryptography.hazmat.primitives import serialization

body={
  "sub": "createjwt",
  "iss": "sktestissuer",
  "exp":9283750542
}
private_key={

  "p": "atewtwetwqetasdfaerawerqwerqwur",

  "kty": "RSA",

  "q": "atewtwetwqetasdfaerawerqwerqwF",

  "d": "atewtwetwqetasdfaerawerqwerqw",

  "e": "ABCD",

  "use": "sig",

  "kid": "test_key",

  "qi": "atewtwetwqetasdfaerawerqwerqw",

  "dp": "atewtwetwqetasdfaerawerqwerqw",

  "dq": "atewtwetwqetasdfaerawerqwerqw",

  "n": "atewtwetwqetasdfaerawerqwerqw"

}
public_key={

"kty": "RSA",

"e": "ABCD",

"use": "sig",

"kid": "test_key",

"n": "test-13245"}
print(type(private_key))
#key=json.dumps(private_key)
#print(type(key))
#private_key1=rsa.RSAPrivateKey().public_key()
encoded = jwt.encode(body,private_key,headers={"kid": "test_key"}, algorithm="RS256")
print(encoded)

Traceback (most recent call last): File "C:\Users\PycharmProjects\seleniumproject\testpractive\jwt_test.py", line 52, in encoded = jwt.encode(body,private_key,headers={"kid": "test_key"}, algorithm="RS256") File "C:\Users\PycharmProjects\seleniumproject\venv\lib\site-packages\jwt\api_jwt.py", line 63, in encode return api_jws.encode(json_payload, key, algorithm, headers, json_encoder) File "C:\Users\PycharmProjects\seleniumproject\venv\lib\site-packages\jwt\api_jws.py", line 110, in encode key = alg_obj.prepare_key(key) File "C:\Users\PycharmProjects\seleniumproject\venv\lib\site-packages\jwt\algorithms.py", line 260, in prepare_key raise TypeError("Expecting a PEM-formatted key.") TypeError: Expecting a PEM-formatted key.

SKK
  • 31
  • 1
  • 6

0 Answers0