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

Add tests for Peer DID Interoperability to AATH to enable a Community Coordinate Update to Qualified DIDs #752

Open
swcurran opened this issue Dec 12, 2023 · 1 comment
Assignees

Comments

@swcurran
Copy link
Contributor

The Aries Frameworks are trying to converge on the elimination of unqualified peer DIDs, and their replacement with support for various forms of did:peer DIDs. In this context "peer DIDs" means DIDs used for DIDComm messaging, exchanged by agents when they establish a DIDComm connection (via "Connections" or OOB/DID Exchange protocols). "did:peer" are DIDs defined by according to the did:peer specification.

Unqualified DIDs go back to the early days of Aries and the "did:sov" method of defining peer DIDs. An agent, sends to the other agent a "DID" without a did:XXXX prefix (hence, unqualified) and a DID Doc. In order to eliminate that, we want to go through a community coordinated update (described in RFC 0793 unqualified DID transition) that begins with all Aries frameworks sending out unqualified DIDs, but accepting both unqualified and various qualified did:peer DIDs (notably, did:peer:1, did:peer:2 and did:peer:4) and later switching to sending out only qualified DIDs. Currently, all of the Aries Frameworks are being updated up to both accept and send out all types of peer DIDs.

"Accepting" in this case means properly handling a peer DID of a given type sent to it in initiating a connection, and responding by using that DID in completing the connection establishment. So, if the invitation or request are the first messages in establishing a connection, and they contain a given DID type, the recipient of the invitation or request should respond using the same peer DID type.

The testing we would like is:

  • Have the test agents running.
  • Have Acme configured to initiate a connection with a specified peer DID type (unqualified, did:peer:1, did:peer:2, did:peer:4)
    • We may need to use the "restart agent with new settings in the middle of a run" approach
  • Have Acme connect to Bob, (and perhaps Faber and Mallory)
    • Thought is that by doing three connections, we can have a different test agent (ACA-Py, AFJ, Aries VCX) for each, so fewer test runs, but that may or may not be a good idea.
  • Have Acme check that Bob, Faber and Mallory all respond with whatever type of peer DID Acme used.

This task is to create the set of tests, and define how the tests will get run -- e.g. how to on the fly change Acme to initiate connections with the required type of peer DID.

@swcurran
Copy link
Contributor Author

@TelegramSam @dbluhm -- please take a look at this definition. Look correct?

  • I assume we should ONLY test OOB/DID Exchange for this -- agreed?
  • I plan to add an issue for adding DID Rotation tests

@nodlesh -- please review and lets get together to discuss this.

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