2017-06-04 30 views
0

JOSE4JでRsaJsonWebKeyオブジェクトのJSON表現をJSON形式で保存し、再度RsaJsonWebKeyオブジェクトを再作成します。私はマーシャリング部分を持っています:JOSE4J:RsaJsonWebKeyのJSON表現からRsaJsonWebKeyオブジェクトを作成する方法

RsaJsonWebKey rsaJsonWebKey = RsaJwkGenerator.generateJwk(2048);

文字列jwkjson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE);

ただし、アンマーシャリングしてRsaJsonWebKeyを再作成する方法それは私がそれを可能にするRsaJsonWebKeyのコンストラクタを見ないので私が立ち往生している場所です。

質問はこの質問

JWT becomes invalid after restarting the server

に関連しているが、それはアンマーシャリングする方法については説明しません。

ありがとうございます!

月Brunia

答えて

1

JWT becomes invalid after restarting the serverの例の下半分は、JSON文字列からJsonWebKey/PublicJsonWebKeyオブジェクトを取得する方法を示しています。 PublicJsonWebKey publicJsonWebKey = PublicJsonWebKey.Factory.newPublicJwk(jwkJson);を使用すると、解析/非マーシャリングが実行され、必要に応じてRsaJsonWebKeyにキャストできます。

+0

こんにちはブライアン、私は暗号化されていないJSON文字列を使用したかったのです。私はJOSE4Jのソースを見て、このような可能性があると感じました。まだ試していない:Map jwkJsonParsed = JsonUtil.parseJson(jwkJson); \t RsaJsonWebKey RsaJsonWebKeyRecreated =新しいRsaJsonWebKey(jwkJsonParsed); ... jwkJsonはjsonの文字列です。jwkJson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE); – JB007

+0

PublicJsonWebKey.Factory.newPublicJwk(jwkJson)は、JWK JSONをPublicJsonWebKeyオブジェクトに解析します。このオブジェクトは、RSAキーの場合はRsaJsonWebKeyのインスタンスになります。あなたはあなたが言及していることのどれもする必要はありません。しかし、それもうまくいくはずです。 –

+0

素晴らしい、ありがとうブライアン! – JB007

関連する問題