我正在尝试用KID创建JWT,alg=RS256,TypeError:需要PEM格式的密钥。 导入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)
回溯(最近一次呼叫最后一次): 文件“C:\Users\PycharmProjects\seleniumproject\testpractive\jwt_test.py”,第52行,在 encoded=jwt.encode(body,private_key,headers={“kid”:“test_key”},algorithm=“RS256”) 文件“C:\Users\PycharmProjects\seleniumproject\venv\lib\site packages\jwt\api\u jwt.py”,第63行,编码 返回api_jws.encode(json_负载、键、算法、头、json_编码器) 文件“C:\Users\PycharmProjects\seleniumproject\venv\lib\site packages\jwt\api\u jws.py”,第110行,编码 键=alg_对象准备键(键) 文件“C:\Users\PycharmProjects\seleniumproject\venv\lib\site packages\jwt\algorithms.py”,第260行,在prepare\u key中 raise TypeError(“应为PEM格式的密钥”) TypeError:应为PEM格式的密钥
目前没有回答
相关问题 更多 >
编程相关推荐