· “exp” was changed to “xpo” then to “e” due to potential clashes
between very different contexts.
· “iv” was defined (draft-04) for use with some “enc” values, and now
is defined for use with some “alg” values instead.
· “alg”, “enc”, (and “int” and “mac” and “kdf” in drafts) have been
required to identify the context for algorithm ids, but there is no
corresponding indication of the context for any parameters associated with
those algorithm ids (s, c, iv, tag, apv etc).
· “kid” sometimes identifies the sender’s key and sometimes the
recipient’s key, which isn’t going to be pretty when an alg involves keys from
both parties (and there are plenty of such algs).
· A whole bunch of key-related fields that made sense in JWS (referring
to the sender’s key) were switched around in JWE (referring to the recipient’s
key) were they are almost pointless but can no longer be used if the sender of
a JWE does have a key that needs referencing.
· The sender’s public key can be held in “jwk”, except in a JWE where a
new name is needed: “epk”.
A registry has not prevented the mess. Being drafts has allowed us to create &
modify the mess so it can still work. ;-(
We have a strange situation today where a fields such as "kid", "x5t", "x5u",
and "x5c" are defined for use in a JWK; there is a field in JWE & JWS to hold a
JWK; but JWE & JWS also define top-level use of these fields. Are both of the
following ok, equivalent, interoperable?
{ "alg":"xxx", "jwk":{"kid":"123", "x5u":"https://x.y.x/"}}
{ "alg":"xxx", "kid":"123", "x5u":"https://x.y.x/"}
--
James Manger
From: Mike Jones [mailto:[email protected]]
Sent: Wednesday, 17 July 2013 10:38 AM
To: Manger, James H; Richard Barnes; Matt Miller (mamille2); [email protected]
Subject: RE: [jose] PBES2-HS256+A128KW: where do salt and iteration count go?
The registry is there exactly to prevent such messes. They have a good track
record of preventing them to date. ;-)
-- Mike
From: [email protected]<mailto:[email protected]>
[mailto:[email protected]] On Behalf Of Manger, James H
Sent: Tuesday, July 16, 2013 5:31 PM
To: Richard Barnes; Matt Miller (mamille2); [email protected]<mailto:[email protected]>
Subject: Re: [jose] PBES2-HS256+A128KW: where do salt and iteration count go?
“s” and “c” at the top level (not under “jwk”) would at least be more
consistent with other parts of JOSE and the design philosophy of “keep it
flat”. I would actually prefer sticking “s” and “c” into a sub-object, but it
only makes sense if other fields are moved there as well. What if a key
wrapping algorithm and a content encryption algorithm both need a salt? What if
a sender key and recipient key have the same sort of parameter (such as a
“kid”)? The “simplicity” of a flat structure quickly becomes a mess.
--
James Manger
_______________________________________________
jose mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/jose