Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DIDComm V2 service type, format and context not aligned to spec #343

Open
genaris opened this issue Jan 28, 2023 · 1 comment
Open

DIDComm V2 service type, format and context not aligned to spec #343

genaris opened this issue Jan 28, 2023 · 1 comment

Comments

@genaris
Copy link

genaris commented Jan 28, 2023

In Resolver DID Document Format section of the specification, it refers to DIDComm V2 endpoint entries in endpoint ATTRIB as those whose type is DIDComm, and also states to render a service object in the resulting DID Document using that type.

However, according to DIDComm Messaging v2.0 specification, service endpoint type must be DIDCommMessaging. This would prevent DIDComm V2 Agents to properly DIDComm V2 messaging services in a DID Document resolved by a did:sov resolver following this spec.

Another inconsistency between this spec and DIDComm Messaging v2.x is the service block mentioned as example:

{
  "id": "did:sov:HR6vs6GEZ8rHaVgjg2WodM#didcomm-1",
  "type": "DIDComm",
  "serviceEndpoint": "https://example.com/endpoint",
  "accept": [
    "didcomm/v2"
  ],
  "routingKeys": []
}

Is not compliant, as serviceEndpoint should be a list of objects. So the resulting service block should be:

{
  "id": "did:sov:HR6vs6GEZ8rHaVgjg2WodM#didcomm-1",
  "type": "DIDCommMessaging",
  "serviceEndpoint":  [{
    "uri": "https://example.com/endpoint",
    "accept": [
    "didcomm/v2"
    ],
    "routingKeys": []
  }]
}

Finally, related to this is that the spec states that https://didcomm.org/messaging/contexts/v2 must be added to @context array and it is currently returning 404. That's maybe an issue on didcomm.org side (decentralized-identity/didcomm.org#70).

@c2bo
Copy link

c2bo commented Feb 3, 2023

To make things even more confusing, this would be the current Aries convention regarding service endpoint: https://github.com/hyperledger/aries-rfcs/tree/main/features/0067-didcomm-diddoc-conventions#service-conventions

{
    "id": "did:example:123456789abcdefghi#did-communication",
    "type": "did-communication",
    "priority" : 0,
    "recipientKeys" : [ "did:example:123456789abcdefghi#1" ],
    "routingKeys" : [ "did:example:123456789abcdefghi#1" ],
    "accept": [
      "didcomm/aip2;env=rfc587",
      "didcomm/aip2;env=rfc19"
    ],
    "serviceEndpoint": "https://agent.example.com/"
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants