The conformance server fails parsing the above data with:
cbor: cannot unmarshal map into Go value of type fdoshared.FdoError (cannot decode CBOR map to struct with toarray option)
Using the playground site (http://cbor.me ) to decode the content by pasting it in the Bytes text box (on the right side) and clicking on the green arrow above that text box (convert to diagnostic notation), the following is shown:
In the Diagnostic text box, the deserialized data is:
It would be worth while looking at git history here, I seem to remember there was previous back and forth around cbor serialisation, could also be a bug/change in rust dependencies.
It looks like the error messages are not being serialized correctly.
From the conformance server I can see the following error message as the response for a bad formatted request (in hex format):
The conformance server fails parsing the above data with:
Using the playground site (http://cbor.me ) to decode the content by pasting it in the Bytes text box (on the right side) and clicking on the green arrow above that text box (convert to diagnostic notation), the following is shown:
According to the FIDO specification the error message definition seems to be an array of elements:
Therefore, the conformance server error would make sense as we are formatting the Error as a CBOR map instead of an CBOR array.