On 2018-01-29 14:52, Hannes Wallnöfer wrote:
Hi Anders,

I think I lack the context required to understand what you’re asking for. Can 
you explain how transmitting numbers/doubles in JSON should work and how the 
static method you’re asking for would enable this?

Sure.  Signatures depend on that data appears identical on both sides (sender + 
receiver).
If one side outputs the integer 10 as 10.0 (which is OK JSON-wise), the 
signature will break in an EcmaScript environment where it must be 10 and 
nothing else.
JSON tools would call the proposed static method rather than building their own 
number serializer.

Initially I thought number serialization was a simple problem but that was 
entirely wrong :-)
Fortunately the ECMA folks have the expertize needed and their solution is 
already supported in billions of devices.
Nashorn almost cuts it but only for JavaScript, not Java.

Also, is there a document somewhere describing the IETF standardization work 
you’re talking about?

You will have to wait to next week (when it becomes public), but in the meantime you can 
take a look at the core "input specifications":
https://cyberphone.github.io/doc/security/jose-jcs.html
https://cyberphone.github.io/doc/security/jose-jef.html

Thanx,
Anders


Thanks,
Hannes

Am 28.01.2018 um 10:48 schrieb Anders Rundgren <anders.rundgren....@gmail.com>:

The JSON "clear text" signature initiative seems to (finally) be headed for 
IETF standardization.  The plan is having a BOF session at the next IETF in London.

This scheme builds on EcmaScript JSON processing rules for data normalization 
which only rely on JSON.parse() and JSON.stringify().

A thorny issue for implementers is though serializing the JSON "Number" type.

An with Node.js, Chrome, Firefox, Safari (unfortunately not entirely compatible...) 
solution is currently available in "Nashorn":
http://hg.openjdk.java.net/jdk8/jdk8/nashorn/file/096dc407d310/src/jdk/nashorn/internal/objects/NativeNumber.java

It would be great if such support could for example be included as a static 
method in java.lang.Double, making Java and EcmaScript/JavaScript 100% 
interoperable with respect to this feature, the rest is actually close to 
trivial.

thanx,
Anders
https://github.com/OAI/OpenAPI-Specification/issues/1464#issue-291622705


Reply via email to