Skip to content

Register DIDComm accept and routingKeys service properties#337

Open
yno9 wants to merge 2 commits into
decentralized-identity:mainfrom
yno9:add-didcomm-accept-routingkeys
Open

Register DIDComm accept and routingKeys service properties#337
yno9 wants to merge 2 commits into
decentralized-identity:mainfrom
yno9:add-didcomm-accept-routingkeys

Conversation

@yno9

@yno9 yno9 commented Jul 16, 2026

Copy link
Copy Markdown

A DIDCommMessaging service endpoint carries accept and routingKeys alongside uri, but the registry maps neither — so a did:dht document can express the endpoint's URI and nothing else. A resolver reading it learns where to deliver, but not the routing keys needed to wrap the message for the recipient's mediator, so mediated delivery — the ordinary case for a client that isn't itself reachable — can't be completed.

Both properties are already defined by DIDComm Messaging and registered in the DID Specification Registries; this only supplies the DNS packet mapping the registry requires. Abbreviated to ac/rk to conserve packet space, per the spec's own size constraints guidance.

Implemented and interoperating in biset, which uses did:dht as its identity layer and DIDComm v2 for messaging.


The second commit is unrelated and separable: the existing sig and enc rows have their DNS representation and example swapped (the sig row documents enc=E with example enc=1, and vice versa). Happy to drop it or split it into its own PR.

yno9 added 2 commits July 16, 2026 14:53
A DIDCommMessaging service endpoint carries accept and routingKeys
alongside uri, but the registry maps neither. A did:dht document can
therefore express the endpoint's URI and nothing else, and a resolver
that reads it learns where to deliver without learning the routing keys
needed to wrap the message for the recipient's mediator — so mediated
delivery, the ordinary case for a client that isn't itself reachable,
can't be completed.

Both are already defined by DIDComm Messaging and registered in the DID
Specification Registries; this only supplies the DNS packet mapping the
registry requires. Abbreviated to ac/rk to conserve packet space, per the
spec's own size-constraints guidance.
The sig row gives enc=E as its DNS representation and enc=1 as its
example; the enc row gives sig=S and sig=2. Each describes the other.
@yno9
yno9 requested a review from csuwildcat as a code owner July 16, 2026 10:09
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

Successfully merging this pull request may close these issues.

1 participant