Python jws.sign不适用于算法RS256

Python jws.sign不适用于算法RS256,python,jwt,encode,jose,Python,Jwt,Encode,Jose,我尝试使用jws.sign对JSON编码的对象进行签名,因此尝试了以下示例: 但问题是,jws.sign在使用上述示例中给出的算法HS256时工作正常,但在使用算法RS256时失败,出现以下错误: signed=jws.sign({'a':'b'},'secret',algorithm='RS256') 回溯(最近一次呼叫最后一次): 文件“/usr/local/lib/python3.7/dist packages/jose/backends/cryptography_backend.py”

我尝试使用jws.sign对JSON编码的对象进行签名,因此尝试了以下示例:

但问题是,jws.sign在使用上述示例中给出的算法HS256时工作正常,但在使用算法RS256时失败,出现以下错误:

signed=jws.sign({'a':'b'},'secret',algorithm='RS256') 回溯(最近一次呼叫最后一次): 文件“/usr/local/lib/python3.7/dist packages/jose/backends/cryptography_backend.py”,第231行,在init self.prepared\u key=load\u pem\u public\u key(key,self.cryptography\u backend()) 文件“/usr/local/lib/python3.7/dist-packages/cryptography/hazmat/primitives/serialization/base.py”,第23行,装入公钥 返回后端。加载\u pem\u公钥(数据) 文件“/usr/local/lib/python3.7/dist packages/cryptography/hazmat/backends/openssl/backend.py”,第1273行,在load\u pem\u public\u key中 self.\u句柄\u键\u加载\u错误() 文件“/usr/local/lib/python3.7/dist-packages/cryptography/hazmat/backends/openssl/backend.py”,第1526行,在“句柄\密钥\加载”错误中 raise VALUERROR(“无法反序列化密钥数据”) ValueError:无法反序列化密钥数据


任何线索都会有帮助

“机密”不是有效的RS256密钥。您需要一个正确的RS256私钥进行签名,并需要一个匹配的公钥进行验证。