hyperledger / aries-cloudagent-python

Hyperledger Aries Cloud Agent Python (ACA-Py) is a foundation for building decentralized identity applications and services running in non-mobile environments.
https://wiki.hyperledger.org/display/aries
Apache License 2.0
404 stars 511 forks source link

DIDCommMessaging Service Endpoint is in the wrong format #2864

Closed conanoc closed 3 months ago

conanoc commented 5 months ago

This issue of credo-ts also exists in ACA-Py.

It's been observed that generating DIDs for did:peer:2 with a service endpoint type of DIDCommMessaging, the serviceEndpoint follows the format of the did-communication endpoint type instead of the DIDCommMessaging endpoint type.

dbluhm commented 5 months ago

ACA-Py is following the did-communication convention right now. This convention is defined here: https://github.com/hyperledger/aries-rfcs/blob/main/features/0067-didcomm-diddoc-conventions/README.md#service-conventions

ACA-Py is correctly adhering to this convention and has not yet adopted the DIDCommMessaging service type.

Credo, by comparison, is using the DIDCommMessaging service type but using the old did-communication conventions i.e. the serviceEndpoint is a string when it should be an object with the accept and routingKeys fields.

I'm not sure I see how this issue applies to ACA-Py at the moment. Could you elaborate?

conanoc commented 5 months ago

I filed this issue to notice that there's a compatibility issue among peer-did libraries as listed here: https://github.com/decentralized-identity/peer-did-method-spec/issues/64 At first, I thought using did-communication type services in peer-did was not conforming to the spec. Now I have learned that the spec does not specify which type to use. And maybe this is the source of the compatibility issue.