Skip to content

DIDcomm service-endpoint in example DID Docs #51

@c2bo

Description

@c2bo

This is kind of related to #46: When looking through the example in Aries RFC 0067, I got a bit confused where the second context (identity.foundation/didcomm-messaging/service-endpoint) in the example DID Docs is coming from:

"diddocContent" : {
  "@context" : [
      "https://www.w3.org/ns/did/v1",
      "https://identity.foundation/didcomm-messaging/service-endpoint/v1"
      ...
  ]

The examples in the linked aries RFC do not use that context. The only other example of a context for the didcomm service I found was in did-spec-registries.

The DIDcommv2 spec adds an additional (optional) attribute called accept that is also used in Aries RFC 0067 used to signal protocol version support: https://identity.foundation/didcomm-messaging/spec/#did-document-service-endpoint. This attribute was also in the initial iteration of the Sovrin DID Method and I guess the additional context comes from there?

Example service entry in Aries RFC 0067:

{
  "service": [{
    "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/"
  }]
}

There also seems to be some discussion on the usage of "accept" within a service description: decentralized-identity/didcomm-messaging#294.

I think it would be best to find a common understanding how to signal protocol support in a DIDcomm endpoint via didcommv2 spec and Aries RFC 0067 and leave things out of did:indy for the time being (no context and no accept in the examples).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions