私はサーバーにJavaオブジェクトを送信し、その署名を別の方法でサーバーに送信します。そのためには、JSONに変換してから、署名フォームJSON
を作成する必要があります。 JOSEで署名付きトークンを作成できますが、オブジェクトデータもトークンに付加するため、トークンが長すぎます。 また、異なる署名者によって1つのオブジェクトに複数回署名する必要があります。暗号化 - Javaでjsonオブジェクトに署名する方法
文字列に対するJSONの会話が常にユニークな形式で表現されるようにするための標準またはツール(少なくともjava/javascript用)はありますか?
JSONデータを含むJWTの2番目の部分を省略し、任意のJSONクリエータを使用して作成することはできますか?
答えが「はい」の場合はどうすればよいですか?
ためのXAdES、PAdESかなCAdESように私は、同じオブジェクトの 'BASE64URL(UTF8(JWSペイロード))'うではない保証一意と信じて、そこにあります。 [this post](http://stackoverflow.com/a/4670638/1385652)によると、JSONオブジェクトを文字列に表示するには複数の方法があり、 'BASE64URL(UTF8(JWS Payload))'は単純にそれらを考慮せず、ペイロード部分は、ペイロードの署名を検証できません。 –
ポストはjsonオブジェクトに署名すること、および署名する前にコンテンツを正規化する必要があることに注意してください。 JWSは、base64urlとしてJSONオブジェクトをシリアライズする正規化を実行します。 2つの異なる値で同じbase64値を生成することはできません(http://stackoverflow.com/questions/30429168/is-a-base64-encoded-string-uniqueを参照)。しかし、base64直列化は常に同じ結果を生成します – pedrofb