diff --git a/packages/did-core-test-server/suites/did-consumption/default.js b/packages/did-core-test-server/suites/did-consumption/default.js index 9e3bcfc..f1b862a 100644 --- a/packages/did-core-test-server/suites/did-consumption/default.js +++ b/packages/did-core-test-server/suites/did-consumption/default.js @@ -42,6 +42,7 @@ module.exports = { require('../implementations/did-algo.json'), require('../implementations/did-cheqd.json'), require('../implementations/did-art.json'), + require('../implementations/did-knox.json'), ...brokenFixtures ] }; diff --git a/packages/did-core-test-server/suites/did-core-properties/default.js b/packages/did-core-test-server/suites/did-core-properties/default.js index 7142f67..10769c1 100644 --- a/packages/did-core-test-server/suites/did-core-properties/default.js +++ b/packages/did-core-test-server/suites/did-core-properties/default.js @@ -42,6 +42,7 @@ module.exports = { require('../implementations/did-algo.json'), require('../implementations/did-cheqd.json'), require('../implementations/did-art.json'), + require('../implementations/did-knox.json'), ...brokenFixtures ], }; diff --git a/packages/did-core-test-server/suites/did-identifier/default.js b/packages/did-core-test-server/suites/did-identifier/default.js index e0b3343..a5f1707 100644 --- a/packages/did-core-test-server/suites/did-identifier/default.js +++ b/packages/did-core-test-server/suites/did-identifier/default.js @@ -44,6 +44,7 @@ module.exports = { require('../implementations/did-algo.json'), require('../implementations/did-cheqd.json'), require('../implementations/did-art.json'), + require('../implementations/did-knox.json'), ...brokenFixtures ], }; diff --git a/packages/did-core-test-server/suites/did-production/default.js b/packages/did-core-test-server/suites/did-production/default.js index 667be07..96076d3 100644 --- a/packages/did-core-test-server/suites/did-production/default.js +++ b/packages/did-core-test-server/suites/did-production/default.js @@ -43,6 +43,7 @@ module.exports = { require('../implementations/did-algo.json'), require('../implementations/did-cheqd.json'), require('../implementations/did-art.json'), + require('../implementations/did-knox.json'), ...brokenFixtures ], }; diff --git a/packages/did-core-test-server/suites/did-resolution/default.js b/packages/did-core-test-server/suites/did-resolution/default.js index b1310e1..84a3b25 100644 --- a/packages/did-core-test-server/suites/did-resolution/default.js +++ b/packages/did-core-test-server/suites/did-resolution/default.js @@ -42,6 +42,7 @@ module.exports = { require('../implementations/universal-resolver-did-work.json'), require('../implementations/universal-resolver-resolver-tests.json'), require('../implementations/universal-resolver-did-art.json'), + require('../implementations/universal-resolver-did-knox.json'), require('../implementations/resolver-did-orb.json'), require('../implementations/resolver-nft-3box-labs.json'), require('../implementations/resolver-example-didwg.json'), @@ -57,6 +58,7 @@ module.exports = { require('../implementations/resolver-spruce-webkey.json'), require('../implementations/resolver-ssb.json'), require('../implementations/resolver-did-cheqd.json'), + require('../implementations/resolver-knox.json'), ...brokenFixtures ], }; diff --git a/packages/did-core-test-server/suites/did-url-dereferencing/default.js b/packages/did-core-test-server/suites/did-url-dereferencing/default.js index ab3a51e..00d8244 100644 --- a/packages/did-core-test-server/suites/did-url-dereferencing/default.js +++ b/packages/did-core-test-server/suites/did-url-dereferencing/default.js @@ -21,6 +21,7 @@ module.exports = { require('../implementations/dereferencer-ssb.json'), require('../implementations/dereferencer-cheqd.json'), require('../implementations/dereferencer-art.json'), + require('../implementations/dereferencer-knox.json'), ...brokenFixtures ] } diff --git a/packages/did-core-test-server/suites/implementations/dereferencer-knox.json b/packages/did-core-test-server/suites/implementations/dereferencer-knox.json new file mode 100644 index 0000000..7e90176 --- /dev/null +++ b/packages/did-core-test-server/suites/implementations/dereferencer-knox.json @@ -0,0 +1,138 @@ +{ + "implementation": "Knox Networks", + "implementer": "Knox Networks", + "didMethod": "did:knox", + "expectedOutcomes": { + "defaultOutcome": [0, 1, 2], + "notFoundErrorOutcome": [3,4,5,6], + "invalidDidUrlErrorOutcome": [7] + }, + "didParameters": { + "hl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?hl=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e", + "service": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?service=IssuerRegistry", + "relativeRef": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?service=IssuerRegistry&relativeRef=status%3Dactive", + "versionId": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?versionId=1", + "versionTime": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?versionTime=2023-06-26T20:14:02Z" + }, + "executions": [{ + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "{\"@context\":[\"https://www.w3.org/ns/did/v1\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"authentication\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\"}],\"capabilityInvocation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\"}],\"capabilityDelegation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\"}],\"assertionMethod\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\"}],\"service\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}]}", + "dereferencingMetadata": { + "contentType": "application/did+ld+json" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\"}", + "dereferencingMetadata": { + "contentType": "application/did+json" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?service=issuer-registry", + "dereferenceOptions": { + "accept": "application/did+json" + } + }, + "output": { + "contentStream": "{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}", + "dereferencingMetadata": { + "contentType": "application/did+json" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?hl=zQmWvQxTqbG2Z9HPJgG57jjwR154cKhbtJenbyYTWkjgF3e", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "", + "dereferencingMetadata": { + "error": "notFound" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?versionId=1", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "", + "dereferencingMetadata": { + "error": "notFound" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy?versionTime=2020-09-26T20:14:02Z", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "", + "dereferencingMetadata": { + "error": "notFound" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:example:444", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "", + "dereferencingMetadata": { + "error": "notFound" + }, + "contentMetadata": {} + } + }, { + "function": "dereference", + "input": { + "didUrl": "did:example_333", + "dereferenceOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "contentStream": "", + "dereferencingMetadata": { + "error": "invalidDidUrl" + }, + "contentMetadata": {} + } + }] +} diff --git a/packages/did-core-test-server/suites/implementations/did-knox.json b/packages/did-core-test-server/suites/implementations/did-knox.json new file mode 100644 index 0000000..68b3e5b --- /dev/null +++ b/packages/did-core-test-server/suites/implementations/did-knox.json @@ -0,0 +1,92 @@ +{ + "didMethod": "did:knox", + "implementation": "Knox Networks DID Method", + "implementer": "Knox Networks", + "supportedContentTypes": + [ + "application/did+ld+json" + ], + "dids": + [ + "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy" + ], + "didParameters": + {}, + "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy": + { + "didDocumentDataModel": + { + "properties": + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "authentication": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM" + } + ], + "capabilityInvocation": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E" + } + ], + "capabilityDelegation": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr" + } + ], + "assertionMethod": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn" + } + ], + "service": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry", + "type": "IssuerRegistry", + "serviceEndpoint": "http://bar.example.com/{issuerId}" + } + ] + } + }, + "application/did+ld+json": + { + "didDocumentDataModel": + { + "representationSpecificEntries": + { + "@context": + [ + "https://www.w3.org/ns/did/v1", + "https://w3id.org/security/suites/ed25519-2020/v1" + ] + } + }, + "representation": "{\"@context\":[\"https://www.w3.org/ns/did/v1\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"authentication\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\"}],\"capabilityInvocation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\"}],\"capabilityDelegation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\"}],\"assertionMethod\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\"}],\"service\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}]}", + "didDocumentMetadata": + { + "created":"2023-05-07T17:24:28.787Z", + "updated":"2023-05-07T17:24:28.787Z" + }, + "didResolutionMetadata": { + "contentType": "application/did+ld+json" + } + } + } +} \ No newline at end of file diff --git a/packages/did-core-test-server/suites/implementations/resolver-knox.json b/packages/did-core-test-server/suites/implementations/resolver-knox.json new file mode 100644 index 0000000..e5e9d61 --- /dev/null +++ b/packages/did-core-test-server/suites/implementations/resolver-knox.json @@ -0,0 +1,129 @@ +{ + "implementation": "Knox Networks", + "implementer": "Knox Networks", + "didMethod": "did:knox", + "expectedOutcomes": { + "defaultOutcome": [0, 3], + "invalidDidErrorOutcome": [1], + "notFoundErrorOutcome": [2], + "representationNotSupportedErrorOutcome": [], + "deactivatedOutcome": [] + }, + "executions": [ + { + "function": "resolve", + "input": { + "did": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "resolutionOptions": {} + }, + "output": { + "didDocument": { + "@context": ["https://www.w3.org/ns/did/v1", "https://w3id.org/security/suites/ed25519-2020/v1"], + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "authentication": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM" + } + ], + "capabilityInvocation": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E" + } + ], + "capabilityDelegation": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr" + } + ], + "assertionMethod": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn", + "type": "Ed25519VerificationKey2020", + "controller": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "publicKeyMultibase": "z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn" + } + ], + "service": + [ + { + "id": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry", + "type": "IssuerRegistry", + "serviceEndpoint": "http://bar.example.com/{issuerId}" + } + ] + }, + "didResolutionMetadata": { + "didUrl": { + "did": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "methodName": "knox", + "methodSpecificId": "z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy" + }, + "duration": 49 + }, + "didDocumentMetadata": {} + } + }, + { + "function": "resolve", + "input": { + "did": "did:knox::$_222", + "resolutionOptions": {} + }, + "output": { + "didDocument": null, + "didResolutionMetadata": { + "error": "invalidDid" + }, + "didDocumentMetadata": {} + } + }, + { + "function": "resolve", + "input": { + "did": "did:knox:123", + "resolutionOptions": {} + }, + "output": { + "didDocument": null, + "didResolutionMetadata": { + "error": "notFound" + }, + "didDocumentMetadata": {} + } + }, + { + "function": "resolveRepresentation", + "input": { + "did": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "resolutionOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "didUrl": { + "did": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "methodName": "knox", + "methodSpecificId": "z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy" + }, + "duration": 278 + }, + "didDocumentMetadata": {}, + "didDocumentStream": "{\"@context\":[\"https://www.w3.org/ns/did/v1\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"authentication\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\"}],\"capabilityInvocation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\"}],\"capabilityDelegation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\"}],\"assertionMethod\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\"}],\"service\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}]}" + } + }] +} \ No newline at end of file diff --git a/packages/did-core-test-server/suites/implementations/universal-resolver-did-knox.json b/packages/did-core-test-server/suites/implementations/universal-resolver-did-knox.json new file mode 100644 index 0000000..37a727d --- /dev/null +++ b/packages/did-core-test-server/suites/implementations/universal-resolver-did-knox.json @@ -0,0 +1,79 @@ +{ + "implementation": "Universal Resolver", + "implementer": "Decentralized Identity Foundation and Contributors", + "didMethod": "did:knox", + "expectedOutcomes": { + "defaultOutcomes": [ + 0, + 1 + ], + "invalidDidErrorOutcome": [], + "notFoundErrorOutcome": [], + "representationNotSupportedErrorOutcome": [], + "deactivatedOutcome": [] + }, + "executions": [ + { + "function": "resolveRepresentation", + "input": { + "did": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "resolutionOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "didUrl": { + "did": { + "method": "knox", + "methodSpecificId": "z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy" + }, + "didUrlString": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "fragment": null, + "parameters": {}, + "path": "", + "query": null + }, + "driverUrl": "http://uni-resolver-driver-did-uport:8081/1.0/identifiers/", + "duration": 134, + "identifier": "did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy", + "pattern": "^(did:knox:.+)$" + }, + "didDocumentStream": "{\"@context\":[\"https://www.w3.org/ns/did/v1\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"authentication\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23fgBTfnsAF8PnYjJJPBLLRB5NJtNaWrUPPf6P4BdmucM\"}],\"capabilityInvocation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23wU6rXC6VeMjGLwbNr3EHytcabDa5nmaSucYLVLk4L3E\"}],\"capabilityDelegation\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"zr5tzEJNgepzEXxpk9PRJK1pKRYrFsNXTgfMMpx6Qmpgr\"}],\"assertionMethod\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy\",\"publicKeyMultibase\":\"z23PE75QbknqhbwURgvvo8etkg7KKNXgx6B3qeUvPtrkgn\"}],\"service\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}]}", + "didDocumentMetadata": {} + } + }, + { + "function": "resolveRepresentation", + "input": { + "did": "did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV", + "resolutionOptions": { + "accept": "application/did+ld+json" + } + }, + "output": { + "didResolutionMetadata": { + "contentType": "application/did+ld+json", + "didUrl": { + "did": { + "method": "knox", + "methodSpecificId": "zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV" + }, + "didUrlString": "did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV", + "fragment": null, + "parameters": {}, + "path": "", + "query": null + }, + "driverUrl": "http://uni-resolver-driver-did-uport:8081/1.0/identifiers/", + "duration": 229, + "identifier": "did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV", + "pattern": "^(did:knox:.+)$" + }, + "didDocumentStream": "{\"@context\":[\"https://www.w3.org/ns/did/v1\",\"https://w3id.org/security/suites/ed25519-2020/v1\"],\"id\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV\",\"authentication\":[{\"id\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV#z221jkqfb2DLMgHDcZAzpThnvfPLHbPfUD962TV7AGMwQC\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV\",\"publicKeyMultibase\":\"z221jkqfb2DLMgHDcZAzpThnvfPLHbPfUD962TV7AGMwQC\"}],\"capabilityInvocation\":[{\"id\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV#znW6Na8pTuM4BqgehPU1Fb9VFP8CDqGGYHaBn9iSbswNH\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV\",\"publicKeyMultibase\":\"znW6Na8pTuM4BqgehPU1Fb9VFP8CDqGGYHaBn9iSbswNH\"}],\"capabilityDelegation\":[{\"id\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV#zkzvp9U1rdsA2HEatK18ppiqNCoZhg4fBDe4aEHxPVK64\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV\",\"publicKeyMultibase\":\"zkzvp9U1rdsA2HEatK18ppiqNCoZhg4fBDe4aEHxPVK64\"}],\"assertionMethod\":[{\"id\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV#znm65gGAMucswS26VvFCULbQaeonkPi4ZcGhMMLHgQLxa\",\"type\":\"Ed25519VerificationKey2020\",\"controller\":\"did:knox:zpbk7KanoqudXQ3H84fmDjpAhLGQLry3aKGbEKxNcJXoV\",\"publicKeyMultibase\":\"znm65gGAMucswS26VvFCULbQaeonkPi4ZcGhMMLHgQLxa\"}],\"service\":[{\"id\":\"did:knox:z2BgV8eWjwoQLKJeZqYqKmNozD9PqRTiiaBLUSVEXQRJjy#issuer-registry\",\"type\":\"IssuerRegistry\",\"serviceEndpoint\":\"http://bar.example.com/{issuerId}\"}]}", + "didDocumentMetadata": {} + } + } + ] +} \ No newline at end of file