JOSE4J:如何从RsaJsonWebKey的JSON表示中创建RsaJsonWebKey objetc
问题描述:
我想用JOSE4J保存JSON格式的RsaJsonWebKey对象的JSON表示,然后再从它重新创建一个RsaJsonWebKey对象。我有编组部分:JOSE4J:如何从RsaJsonWebKey的JSON表示中创建RsaJsonWebKey objetc
RsaJsonWebKey rsaJsonWebKey = RsaJwkGenerator.generateJwk(2048);
String jwkjson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE);
但如何解组并重新创建RsaJsonWebKey。这是我卡住的地方,因为我没有看到RsaJsonWebKey的构造者允许这样做。
的问题是涉及到这个问题
JWT becomes invalid after restarting the server
,但它没有解释如何来解读。
谢谢!
月Brunia
答
的例子在JWT becomes invalid after restarting the server下半部确实显示了如何从一个JSON字符串得到一个JsonWebKey/PublicJsonWebKey对象。使用PublicJsonWebKey publicJsonWebKey = PublicJsonWebKey.Factory.newPublicJwk(jwkJson);
将执行解析/解组,并且如果需要可以将其转换为RsaJsonWebKey
。
嗨,Brian,我想使用一个没有加密的JSON字符串。我查看了JOSE4J的来源,这可能就像我有这种感觉。还没有尝试过它:Map jwkJsonParsed = JsonUtil.parseJson(jwkJson); \t RsaJsonWebKey RsaJsonWebKeyRecreated = new RsaJsonWebKey(jwkJsonParsed); ...其中jwkJson是我通过字符串获得的json字符串jwkJson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE); –
JB007
PublicJsonWebKey.Factory.newPublicJwk(jwkJson)会将JWK JSON解析为一个PublicJsonWebKey对象,如果它是RSA密钥,它将成为RsaJsonWebKey的一个实例。你不应该做任何你提到的。但它也应该工作。 –
太棒了,谢谢Brian! – JB007