decentralized-identity / decentralized-identity/didwebvh-dart

Create with multiple update keys passed is not supported

Open
#2 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Dart
Stars
0
Forks
1
PR merge metrics
No merged PRs in 30d

Description

The create Dart/Java APIs only accepts a single Signer/key and provides no way to declare additional updateKeys at DID-creation time (as opposed to update, where multiple update keys can be added later). This means any test vector requiring more than one initial update key cannot be generated with the library as-is, forcing the compliance harness to skip create-time coverage for that scenario even though the did:webvh spec permits an arbitrary-length updateKeys list in the genesis log entry.

Test-suite pointers:

- [vectors/multiple-update-keys/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/multiple-update-keys/script.yaml) — creates a DID with two updateKeys (key-0, key-1), then signs a later update with the second key;
- see the generator's skip in [implementations/java/src/main/java/org/didwebvh/compliance/GenerateVectors.java:184-192](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/implementations/java/src/main/java/org/didwebvh/compliance/GenerateVectors.java#L184-L192) (Dart: [implementations/dart/bin/generate_vectors.dart:140-143](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/implementations/dart/bin/generate_vectors.dart#L140-L143)).
- [vectors/witness-threshold/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/witness-threshold/script.yaml) and [vectors/witness-update/script.yaml](https://github.com/decentralized-identity/didwebvh-test-suite/blob/0f03983c61ff3ed80d37239105d5b1a02e3f13dd/vectors/witness-update/script.yaml) are worth checking too — any scenario with multi-party authorization at genesis (multiple update keys, or witness configs with >1 party) is likely to hit the same signer-only create() constraint.

For contrast, EECC's independent didwebvh Java library handles this via a CreateConfig.Builder.updateKeys(List) method ([implementations/java-eecc/.../GenerateVectors.java:186](vscode-webview://136odu9rnpvt7bkc84i74vsishis3pajlduu33ilh1rsp96dqnvi/implementations/java-eecc/src/main/java/org/didwebvh/compliance/GenerateVectors.java#L186)), which could serve as a reference API shape.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.