Closed msporny closed 6 months ago
Interoperability is improved when standards make choices that all implementations conform to. This specification chooses the JWK key representation for this reason.
Yes, implementations can and will convert between key formats at will. For instance, they almost certainly have to convert a JWK to an internal format used by the underlying cryptography library they are using to call them. And yes, if they choose, they can convert between multibase (which is not a standard) and JWK internally if they have a reason to do so. Key format conversions are already allowed without us adding anything to the specification.
That's different than defining and endorsing multiple key representations in the specification, which would hurt interoperability.
And yes, if they choose, they can convert
Good, so let's state that in the specification so it's clear that the WG contemplated this and acknowledges this reality. Best be explicit about the consensus position on doing key format conversion.
Key format conversion is allowed in the Data Integrity specifications. It is allowable to convert from a
publicKeyJwk
to apublicKeyMultibase
. The same is true when going in the other direction. Implementations should be allowed to do key conversion, just as implementations convert from internal byte formats or PEM to JWK and back.