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

Ensure "keyAgreement-only" DIDs such as one based on X25519 work properly #57

Open
dlongley opened this issue Apr 20, 2023 · 2 comments
Assignees

Comments

@dlongley
Copy link
Member

dlongley commented Apr 20, 2023

We should add examples and tests showing X25519-based DIDs. These are different from DIDs that use Ed25519 and then include a converted X25519 keyAgreement verification method. These DIDs use only X25519 and use the X25519 multibase-multikey header in the DID itself.

@JSAssassin
Copy link
Contributor

JSAssassin commented Apr 21, 2023

@dlongley I had few questions regarding this issue:

  1. Is this what X25519-based DIDs will look like?
const did = 'did:key:z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc';
const keyId = `${did}#z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc`;
  1. Should I be using X25519KeyAgreementKey2020.from as the multibase-multikey deserializer for this?
  2. Are new changes required in the current methods to resolve such DIDs and to get their DID documents, or will the existing methods work for them just as well as for the other DIDs?

@dlongley
Copy link
Member Author

dlongley commented Apr 21, 2023

@JSAssassin,

@dlongley I had few questions regarding this issue:

  1. Is this what X25519-based DIDs will look like?
const did = 'did:key:z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc';
const keyId = `${did}#z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc`;

Yes.

  1. Should I be using X25519KeyAgreementKey2020.from as the multibase-multikey deserializer for this?

We could -- and it should be possible to do that, but we need to make it all work with Multikey and that should be the main way to do it (the other way is legacy).

  1. Are new changes required in the current methods to resolve such DIDs and to get their DID documents, or will the existing methods work for them just as well as for the other DIDs?

I'm not quite sure I understand the question here -- but I think the answer is: You'll have to try it and see what breaks :). I expect there to be a few changes since this type of DID will be keyAgreement only.

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