-
Notifications
You must be signed in to change notification settings - Fork 19
Description
Hey hello, would like to report an issue in the specification and align between the did-core specification and the latest didpeer4.
Issue: One specification states that verificationMethod id and any other KeyId must conform with the DIDUrl specification, most DIDComm implementations also stick to that same fact and ask for a keyId (expected as DIDUrl) VS didpeer 4 specification which comes only with the fragment.
Correct
- did + #key-0
Incorrect
- #key-0
My proposal would be to use the correct version and stick to the correct version, the docs are literally stating that, despite the requirement being a MUST, the implementations can choose not to follow it, and that doesn't seem correct.
DIDCore specification
Specification https://www.w3.org/TR/did-core/#authentication
The value of the id property for a verification method MUST be a string that conforms to the rules in Section 3.2 DID URL Syntax.
DIDUrl syntax is:
did-url = did path-abempty [ "?" query ] [ "#" fragment ]
Which includes the fragment.
DID Peer 4 specification
Specification https://identity.foundation/peer-did-method-spec/#resolving-a-did
On resolution docs we find a note:
Note: Implementations may turn relative references in the document into absolute references by prepending the reference with the DID. This is not recommended due to length but this is an implementation detail that should not affect usage of the resolved document. Both relative and absolute references are valid within DID Documents.