已经有解密密钥和signed_key ..。只要知道python中的哪个库是正确的,就可以解码这个Java算法创建的JWT令牌。
加密:算法: RSA_OAEP,加密A128GCM令牌签名:算法: RS256
decrypt.py文件:
from jwcrypto import jwt, jwk
k = {"n": G_DECRYPTION_KEY, "kty": "RSA", "e":"A128GCM"} #, "alg":"RS256"} # "e":"AQAB"
print 'k : %s \n'% k
key = jwk.JWK(**k)
print 'key : %s \n'% key
decrypted_key = jwt.JWT(key=key, jwt= g_token)
print 'decrypted_key : %s \n'% decrypted_key
signed_key = jwt.JWT(key=key, jwt=decrypted_key.claims)
print 'signed_key : %s'% signed_key
signed_key.claims
print 'signed_key.claims %s‘
我正在收到的错误:
decrypted_key = jwt.JWT(key=key, jwt= g_token)
File "C:\Python27\lib\site-packages\jwcrypto\jwt.py", line 204, in __init__
self.deserialize(jwt, key)
File "C:\Python27\lib\site-packages\jwcrypto\jwt.py", line 460, in deserialize
self.token.deserialize(jwt, key)
File "C:\Python27\lib\site-packages\jwcrypto\jwe.py", line 472, in deserialize
self.decrypt(key)
File "C:\Python27\lib\site-packages\jwcrypto\jwe.py", line 399, in decrypt
'key' + repr(self.decryptlog))
InvalidJWEData: No recipient matched the provided key["Failed: [KeyError('p',)]"]发布于 2019-05-20 13:13:37
确保您的解密密钥与加密密钥相同。我认为这两个键都应该是来自jwcrypto包的jwcrypto的一个实例。
https://stackoverflow.com/questions/44808809
复制相似问题