w3c-ccg / did-key-test-suite Goto Github PK
View Code? Open in Web Editor NEWInteroperability test suite for did:key
Home Page: https://w3c-ccg.github.io/did-key-test-suite/
Interoperability test suite for did:key
Home Page: https://w3c-ccg.github.io/did-key-test-suite/
I really like the idea of the enableExperimentalPublicKeyTypes
resolution option and invalidPublicKeyType
error. We have also defined and implemented something very similar:
overrideVerificationMethodTypePolicy
notAllowedVerificationMethodType
This is one of several security-related policies that a resolver can enforce, see here for more: https://github.com/decentralized-identity/did-spec-extensions
I think the only difference is that in our case, individual verification method types (such as Ed25519VerificationKey2018
) can be allowed/denied by a resolver, whereas in your case your option is about a group of types (such as "experimental"). It should be possible to harmonize both into a single option.
The did key spec has no normative statements: https://w3c-ccg.github.io/did-method-key/
We need more tests for did key based off of underlying specifications.
Replace the previous mention of implementations and instead link to implementations.
I see several tests of features that apply to DID Resolution in general, not just the did:key
method. I think those should be moved into the DID Resolution test suite, and/or be re-used consistently across future DID method test suites as well.
Here's a list where this might be the case:
For 5. and 6., don't test this yet until #23 is resolved.
Add the didResolvers to this package: https://github.com/w3c-ccg/vc-api-test-suite-implementations
then remove the /implementations
dir and use implementations in tests.
One of the tests is currently:
MUST raise invalidDid error if method is not key
Per the discussion we recently had in DID Resolution (w3c-ccg/did-resolution#74 and w3c-ccg/did-resolution#72), I believe that error should be methodNotSupported
instead of invalidDid
.
requite-dir
is a commonjs module that has issues with es6 modules. We should figure out a way or replacing it in the future.
I see that one of the tests is:
MUST raise invalidDid if the multibaseValue does not begin with the letter z.
I have been assuming so far that the invalidDid
error would be returned only if the DID doesn't conform to the generic DID Core syntax. So if you try to resolve did:key:12345
, the error would actually be notFound
, since the DID does conform to the generic DID Core syntax, but the method-specific ID "12345" doesn't exist within the did:key
method.
But maybe my assumption was wrong. I also understand the rationale that invalidDid
would cover not only the generic DID Core syntax, but also method-specific syntax requirements (starting with z
, in this case). So, just opening this issue to talk about it. We could define this in more detail in the DID Resolution spec: https://w3c-ccg.github.io/did-resolution/#errors
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.