@cef-ebsi/cli 1.0.0-alpha.5 → 1.0.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/LICENSE +189 -189
  2. package/README.md +5 -1
  3. package/bin/cli.js +0 -0
  4. package/dist/app.js +5 -0
  5. package/dist/app.js.map +1 -1
  6. package/dist/buildParam/didV3.js +15 -7
  7. package/dist/buildParam/didV3.js.map +1 -1
  8. package/dist/commands/authorisation-v4.js +3 -1
  9. package/dist/commands/authorisation-v4.js.map +1 -1
  10. package/dist/commands/compute.js +2 -2
  11. package/dist/commands/compute.js.map +1 -1
  12. package/dist/commands/conformance-v3.js +18 -26
  13. package/dist/commands/conformance-v3.js.map +1 -1
  14. package/dist/config.js +2 -2
  15. package/dist/config.js.map +1 -1
  16. package/dist/programs/appRegistration.js +35 -31
  17. package/dist/programs/appRegistration.js.map +1 -1
  18. package/dist/programs/migrateDids.js +229 -0
  19. package/dist/programs/migrateDids.js.map +1 -0
  20. package/dist/scripts/accreditAndAuthorize/conformance/step1 +34 -34
  21. package/dist/scripts/accreditAndAuthorize/conformance/step2 +17 -17
  22. package/dist/scripts/accreditAndAuthorize/conformance/step3 +8 -8
  23. package/dist/scripts/accreditAndAuthorize/conformance/step4 +26 -26
  24. package/dist/scripts/accreditAndAuthorize/conformance/step5 +12 -12
  25. package/dist/scripts/accreditAndAuthorize/conformance/step6 +13 -13
  26. package/dist/scripts/accreditAndAuthorize/conformance/step7 +6 -6
  27. package/dist/scripts/accreditAndAuthorize/test/step1 +34 -34
  28. package/dist/scripts/accreditAndAuthorize/test/step2 +17 -17
  29. package/dist/scripts/accreditAndAuthorize/test/step3 +8 -8
  30. package/dist/scripts/accreditAndAuthorize/test/step4 +26 -26
  31. package/dist/scripts/accreditAndAuthorize/test/step5 +12 -12
  32. package/dist/scripts/accreditAndAuthorize/test/step6 +13 -13
  33. package/dist/scripts/accreditAndAuthorize/test/step7 +6 -6
  34. package/dist/scripts/accreditTI +20 -20
  35. package/dist/scripts/assets/CTRevocableCredential.json +29 -29
  36. package/dist/scripts/assets/CredentialToAttestVerifiableAuthorisationForTrustChain.json +28 -28
  37. package/dist/scripts/assets/VerifiableAccreditationToAccredit.json +35 -35
  38. package/dist/scripts/assets/VerifiableAccreditationToAttest.json +32 -32
  39. package/dist/scripts/assets/VerifiableAuthorisationForTrustChain.json +21 -21
  40. package/dist/scripts/assets/VerifiableAuthorisationToOnboard.json +23 -23
  41. package/dist/scripts/bootstrap/0a-loadTPROperator +5 -5
  42. package/dist/scripts/bootstrap/0b-loadAdmin +8 -8
  43. package/dist/scripts/bootstrap/1-populateTPR +112 -112
  44. package/dist/scripts/bootstrap/2-populateDID +5 -5
  45. package/dist/scripts/bootstrap/3-populateTAR +28 -28
  46. package/dist/scripts/bootstrap/4-populateTimestamp +8 -8
  47. package/dist/scripts/bootstrap/5-populateTIR +9 -9
  48. package/dist/scripts/bootstrap/6-populateTSR +81 -81
  49. package/dist/scripts/bootstrap/7-setupConformanceIssuer +34 -34
  50. package/dist/scripts/initializeContracts +5 -5
  51. package/dist/scripts/issueVcOnboard +9 -9
  52. package/dist/scripts/issueVcRootTAO +11 -11
  53. package/dist/scripts/issueVcTAO +12 -12
  54. package/dist/scripts/issueVcTI +12 -12
  55. package/dist/scripts/issue_CTRevocableCredential +12 -12
  56. package/dist/scripts/issue_SelfAttestationSupportOffice +10 -10
  57. package/dist/scripts/issue_VerifiableAccreditationToAccredit +11 -11
  58. package/dist/scripts/issue_VerifiableAccreditationToAttest +11 -11
  59. package/dist/scripts/issue_VerifiableAuthorisationForTrustChain +10 -10
  60. package/dist/scripts/issue_VerifiableAuthorisationToOnboard +9 -9
  61. package/dist/scripts/preregisterIssuer +6 -6
  62. package/dist/scripts/registerDidDocument_ES256K +5 -5
  63. package/dist/scripts/registerDidDocument_ES256K_ES256 +13 -13
  64. package/dist/scripts/registerIssuer +6 -6
  65. package/dist/scripts/wctv3/accreditAndAuthorize +105 -105
  66. package/dist/scripts/wctv3/holderWallet +39 -38
  67. package/dist/scripts/wctv3/issueToHolder +37 -36
  68. package/dist/scripts/wctv3/pda1 +2 -1
  69. package/dist/scripts/wctv3/verifier +7 -6
  70. package/dist/tsconfig.tsbuildinfo +1 -1
  71. package/dist/utils/verifiablePresentation.js +2 -2
  72. package/dist/utils/verifiablePresentation.js.map +1 -1
  73. package/package.json +103 -99
@@ -0,0 +1,229 @@
1
+ /* eslint-disable no-constant-condition */
2
+ /* eslint-disable no-continue */
3
+ import fs from "fs";
4
+ import { execCommand } from "../app.js";
5
+ import { loadConfig } from "../config.js";
6
+ const [fileName] = process.argv.slice(2);
7
+ const relationships = [
8
+ "authentication",
9
+ "assertionMethod",
10
+ "keyAgreement",
11
+ "capabilityInvocation",
12
+ "capabilityDelegation",
13
+ ];
14
+ const config = loadConfig();
15
+ const { admin } = config.programs;
16
+ const currentDidVersion = Number(config.api.did.url.slice(-1));
17
+ const oldDidVersion = currentDidVersion - 1;
18
+ const didRegistryOld = config.api.did.url.replace(`/v${currentDidVersion}`, `/v${oldDidVersion}`);
19
+ const didRegistry = config.api.did.url;
20
+ async function safeExecCommand(command, opts) {
21
+ if (opts.skip && opts.skip.includes(opts.successMessage))
22
+ return;
23
+ try {
24
+ await execCommand(command);
25
+ }
26
+ catch (error) {
27
+ const { message } = error;
28
+ if (message.includes("nonce has already been used") ||
29
+ message.includes("replacement fee too low")) {
30
+ // try again after some seconds
31
+ await execCommand("wait 5");
32
+ await safeExecCommand(command, opts);
33
+ return;
34
+ }
35
+ if (message.includes("Revert reason: did already exists") ||
36
+ message.includes("Revert reason: relationship already exists") ||
37
+ message.includes("Revert reason: vMethodId already exists")) {
38
+ // everything is ok, continue
39
+ return;
40
+ }
41
+ throw error;
42
+ }
43
+ }
44
+ async function getMissingDids(pageIni = 1, pageEnd = 0, pageSize = 50) {
45
+ const missingDids = [];
46
+ const errors = [];
47
+ let pageAfter = pageIni;
48
+ let url = `${didRegistryOld}/identifiers?page[after]=${pageAfter}&page[size]=${pageSize}`;
49
+ while (true) {
50
+ // get DIDs from old api
51
+ const didListOld = await execCommand(`get ${url}`);
52
+ // get which ones are not in the current version
53
+ await Promise.all(didListOld.items.map(async (item) => {
54
+ try {
55
+ const hrefCurrent = item.href.replace(didRegistryOld, didRegistry);
56
+ await execCommand(`get ${hrefCurrent}`);
57
+ }
58
+ catch (error) {
59
+ if (error.message.includes("failed with status code 404")) {
60
+ missingDids.push(item.did);
61
+ }
62
+ else {
63
+ errors.push({ url: item.href, error: error.message });
64
+ }
65
+ }
66
+ }));
67
+ if (didListOld.links.next === didListOld.self ||
68
+ (pageEnd && pageAfter >= pageEnd))
69
+ break;
70
+ pageAfter += 1;
71
+ url = didListOld.links.next;
72
+ }
73
+ return {
74
+ missingDids,
75
+ errors,
76
+ };
77
+ }
78
+ async function migrateDid(did, opts) {
79
+ const success = [];
80
+ let successMessage = "";
81
+ try {
82
+ const didDocument = opts.document ??
83
+ (await execCommand(`get ${opts.didRegistry}/identifiers/${did}`));
84
+ const baseDocument = JSON.stringify({
85
+ "@context": didDocument["@context"],
86
+ });
87
+ const notBefore = new Date(Date.now() - 365 * 24 * 3600 * 1000).toISOString(); // 1 year ago
88
+ const notAfter = new Date(Date.now() + 5 * 365 * 24 * 3600 * 1000).toISOString(); // 5 years
89
+ // get secp256k1 key
90
+ const vMethodSecp256k1 = didDocument.verificationMethod.find((v) => v.publicKeyJwk?.crv === "secp256k1");
91
+ let publicKeyJwk;
92
+ let thumbprint;
93
+ if (vMethodSecp256k1) {
94
+ publicKeyJwk = JSON.stringify(vMethodSecp256k1.publicKeyJwk);
95
+ [, thumbprint] = vMethodSecp256k1.id.split("#");
96
+ }
97
+ else {
98
+ publicKeyJwk = "user.keys.ES256K.publicKeyJwk";
99
+ thumbprint = "user.keys.ES256K.id";
100
+ }
101
+ // insert did document
102
+ successMessage = "insertDidDocument";
103
+ await safeExecCommand(`did insertDidDocument ${[
104
+ did,
105
+ baseDocument,
106
+ publicKeyJwk,
107
+ notBefore,
108
+ notAfter,
109
+ thumbprint,
110
+ ].join(" ")}`, { ...opts, successMessage });
111
+ success.push(successMessage);
112
+ for (let k = 0; k < relationships.length; k += 1) {
113
+ const rel = relationships[k];
114
+ // skip relationships that come by default with insertDidDocument
115
+ if (["authentication", "capabilityInvocation"].includes(rel))
116
+ continue;
117
+ // add extra relationships
118
+ if (didDocument[rel] && didDocument[rel].includes(vMethodSecp256k1.id)) {
119
+ successMessage = `addVerificationRelationship ${rel} ${thumbprint}`;
120
+ await safeExecCommand(`did addVerificationRelationship ${[
121
+ did,
122
+ rel,
123
+ thumbprint,
124
+ notBefore,
125
+ notAfter,
126
+ ].join(" ")}`, { ...opts, successMessage });
127
+ success.push(successMessage);
128
+ }
129
+ }
130
+ // insert other keys
131
+ for (let j = 0; j < didDocument.verificationMethod.length; j += 1) {
132
+ const vMethod = didDocument.verificationMethod[j];
133
+ if (vMethod.id === vMethodSecp256k1.id)
134
+ continue;
135
+ publicKeyJwk = JSON.stringify(vMethod.publicKeyJwk);
136
+ [, thumbprint] = vMethod.id.split("#");
137
+ successMessage = `addVerificationMethod ${thumbprint}`;
138
+ await safeExecCommand(`did addVerificationMethod ${[did, publicKeyJwk, thumbprint].join(" ")}`, { ...opts, successMessage });
139
+ success.push(successMessage);
140
+ // add relationships
141
+ for (let k = 0; k < relationships.length; k += 1) {
142
+ const rel = relationships[k];
143
+ if (didDocument[rel] && didDocument[rel].includes(vMethod.id)) {
144
+ successMessage = `addVerificationRelationship ${rel} ${thumbprint}`;
145
+ await safeExecCommand(`did addVerificationRelationship ${[
146
+ did,
147
+ rel,
148
+ thumbprint,
149
+ notBefore,
150
+ notAfter,
151
+ ].join(" ")}`, { ...opts, successMessage });
152
+ success.push(successMessage);
153
+ }
154
+ }
155
+ }
156
+ return {};
157
+ }
158
+ catch (error) {
159
+ console.log(error);
160
+ return {
161
+ error: {
162
+ did,
163
+ ...(success.length > 0 && { success }),
164
+ error: error.message,
165
+ },
166
+ };
167
+ }
168
+ }
169
+ (async () => {
170
+ // load admin
171
+ await execCommand(`using user ES256K did1 ${admin.privateKey} ${admin.did} ${admin.keyId}`);
172
+ await execCommand("t: authorisation auth didr_write_presentation ES256K");
173
+ await execCommand("using token t.access_token");
174
+ let migrated = [];
175
+ let noMigrated = [];
176
+ let errors = [];
177
+ if (fileName) {
178
+ const fileData = fs.readFileSync(fileName, "utf8");
179
+ const { migrated: m, noMigrated: nom } = JSON.parse(fileData);
180
+ migrated = m;
181
+ noMigrated = nom;
182
+ for (let i = 0; i < noMigrated.length; i += 1) {
183
+ const { did, success, error } = noMigrated[i];
184
+ if (!did)
185
+ continue;
186
+ if (error.includes("nonce has already been used") ||
187
+ error.includes("replacement fee too low") ||
188
+ error.includes("Bad Gateway") ||
189
+ error.includes("Revert reason")) {
190
+ const result = await migrateDid(did, {
191
+ didRegistry: didRegistryOld,
192
+ skip: success,
193
+ });
194
+ if (result.error) {
195
+ noMigrated[i] = result.error;
196
+ }
197
+ else {
198
+ noMigrated[i] = { did: "", success: [], error: "" };
199
+ migrated.push(did);
200
+ }
201
+ }
202
+ }
203
+ noMigrated = noMigrated.filter((n) => n.did);
204
+ }
205
+ else {
206
+ const { missingDids, errors: e } = await getMissingDids(1, 0, 50);
207
+ errors = e;
208
+ // migrate dids
209
+ for (let i = 0; i < missingDids.length; i += 1) {
210
+ const did = missingDids[i];
211
+ const result = await migrateDid(did, { didRegistry: didRegistryOld });
212
+ if (result.error) {
213
+ noMigrated.push(result.error);
214
+ }
215
+ else {
216
+ migrated.push(did);
217
+ }
218
+ }
219
+ }
220
+ fs.writeFileSync(`migration-${Date.now()}.log`, JSON.stringify({ didRegistry, didRegistryOld, migrated, noMigrated, errorList: errors }, null, 2));
221
+ })()
222
+ .then(() => {
223
+ process.exit(0);
224
+ })
225
+ .catch((error) => {
226
+ console.log(error);
227
+ process.exit(1);
228
+ });
229
+ //# sourceMappingURL=migrateDids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrateDids.js","sourceRoot":"","sources":["../../src/programs/migrateDids.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,35 @@
1
- env conformance
2
- set domain https://api-conformance.ebsi.eu
3
-
4
- # create new issuer
5
- using user null
6
- using user
7
- using user ES256
8
-
9
- # request credential to onboard
10
- vcOnboard: conformance getCredential onboard
11
- set myIssuer user
12
-
13
- # register did document
14
- run registerDidDocument_ES256K_ES256 vcOnboard.vc
15
-
16
- # request VerifiableAccreditationToAttest (TI)
17
- vcTI: conformance getCredential ti
18
-
19
- # register the credential for TI
20
- t: authorisation auth tir_invite_presentation ES256 vcTI.vc
21
- using token t.access_token
22
- tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
23
- set vcTI.url https://api-conformance.ebsi.eu/trusted-issuers-registry/v4/issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
24
-
25
- view myIssuer
26
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
27
- # and validate the following tests:
28
- #
29
- # - Onboarding
30
- # - Request VerifiableAuthorisationToOnboard
31
- # - Register your DID Document into the DID Registry
32
- #
33
- # - Get accredited as a Trusted Issuer
34
- # - Request VerifiableAccreditationToAttest
1
+ env conformance
2
+ set domain https://api-conformance.ebsi.eu
3
+
4
+ # create new issuer
5
+ using user null
6
+ using user
7
+ using user ES256
8
+
9
+ # request credential to onboard
10
+ vcOnboard: conformance getCredential onboard
11
+ set myIssuer user
12
+
13
+ # register did document
14
+ run registerDidDocument_ES256K_ES256 vcOnboard.vc
15
+
16
+ # request VerifiableAccreditationToAttest (TI)
17
+ vcTI: conformance getCredential ti
18
+
19
+ # register the credential for TI
20
+ t: authorisation auth tir_invite_presentation ES256 vcTI.vc
21
+ using token t.access_token
22
+ tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
23
+ set vcTI.url https://api-conformance.ebsi.eu/trusted-issuers-registry/v5/issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
24
+
25
+ view myIssuer
26
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
27
+ # and validate the following tests:
28
+ #
29
+ # - Onboarding
30
+ # - Request VerifiableAuthorisationToOnboard
31
+ # - Register your DID Document into the DID Registry
32
+ #
33
+ # - Get accredited as a Trusted Issuer
34
+ # - Request VerifiableAccreditationToAttest
35
35
  # - Register VerifiableAccreditationToAttest into the Trusted Issuers Registry
@@ -1,18 +1,18 @@
1
- # create a proxy
2
- conformance clientMockUpdateList 1 0 0
3
- t: authorisation auth tir_write_presentation ES256
4
- using token t.access_token
5
- set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
6
- set proxyData.prefix myIssuer.clientId
7
- tir addIssuerProxy myIssuer.did proxyData
8
- proxies: tir get /issuers/ myIssuer.did /proxies
9
- set user.proxyId proxies.items.0.proxyId
10
- set user.accreditationUrl vcTI.url
11
- conformance clientMockInitiate
12
-
13
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
14
- # and validate the following tests:
15
- #
16
- # - Issue & Revoke
17
- # - Issue CTRevocable Credential with credentialStatus StatusList2021
1
+ # create a proxy
2
+ conformance clientMockUpdateList 1 0 0
3
+ t: authorisation auth tir_write_presentation ES256
4
+ using token t.access_token
5
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
6
+ set proxyData.prefix myIssuer.clientId
7
+ tir addIssuerProxy myIssuer.did proxyData
8
+ proxies: tir get /issuers/ myIssuer.did /proxies
9
+ set user.proxyId proxies.items.0.proxyId
10
+ set user.accreditationUrl vcTI.url
11
+ conformance clientMockInitiate
12
+
13
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
14
+ # and validate the following tests:
15
+ #
16
+ # - Issue & Revoke
17
+ # - Issue CTRevocable Credential with credentialStatus StatusList2021
18
18
  # - Validate the issued credential details
@@ -1,9 +1,9 @@
1
- # revoke credential
2
- statusListIndex: compute statusListIndex did:ebsi:zhJARjPN69cEtgPxHen1Mid
3
- conformance clientMockUpdateList 1 statusListIndex 1
4
-
5
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
6
- # and validate the following tests:
7
- #
8
- # - Issue & Revoke
1
+ # revoke credential
2
+ statusListIndex: compute statusListIndex did:ebsi:zhJARjPN69cEtgPxHen1Mid
3
+ conformance clientMockUpdateList 1 statusListIndex 1
4
+
5
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
6
+ # and validate the following tests:
7
+ #
8
+ # - Issue & Revoke
9
9
  # - Revoke the credential and confirm
@@ -1,27 +1,27 @@
1
- # request VerifiableAccreditationToAccredit (TAO)
2
- vcTAO: conformance getCredential tao
3
-
4
- # register the credential for TAO
5
- t: authorisation auth tir_write_presentation ES256
6
- using token t.access_token
7
- tir setAttributeData myIssuer.did vcTAO.reservedAttributeId vcTAO.vc
8
- set vcTAO.url https://api-conformance.ebsi.eu/trusted-issuers-registry/v4/issuers/ myIssuer.did /attributes/ vcTAO.reservedAttributeId
9
- set user.accreditationUrl vcTAO.url
10
- conformance clientMockInitiate
11
-
12
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
13
- # and validate the following tests:
14
- #
15
- # - Request VerifiableAccreditationToAccredit
16
- # - Request VerifiableAccreditationToAccredit
17
- # - Register VerifiableAccreditationToAccredit into the Trusted Issuers Registry
18
- # - Register VerifiableAccreditationToAccredit into the Trusted Issuers Registry
19
- # - Issue VerifiableAuthorisationToOnboard for Conformance Issuer's sub-account DID
20
- # - Issue VerifiableAuthorisationToOnboard for Conformance Issuer's sub-account DID
21
- # - Validate the issuance was correct
22
- # - Issue VerifiableAccreditationToAttest for sub-account DID
23
- # - Issue VerifiableAccreditationToAttest for sub-account DID
24
- # - Validate the issuance was correct
25
- # - Issue VerifiableAccreditationToAccredit for sub-account DID
26
- # - Issue VerifiableAccreditationToAccredit for sub-account DID
1
+ # request VerifiableAccreditationToAccredit (TAO)
2
+ vcTAO: conformance getCredential tao
3
+
4
+ # register the credential for TAO
5
+ t: authorisation auth tir_write_presentation ES256
6
+ using token t.access_token
7
+ tir setAttributeData myIssuer.did vcTAO.reservedAttributeId vcTAO.vc
8
+ set vcTAO.url https://api-conformance.ebsi.eu/trusted-issuers-registry/v5/issuers/ myIssuer.did /attributes/ vcTAO.reservedAttributeId
9
+ set user.accreditationUrl vcTAO.url
10
+ conformance clientMockInitiate
11
+
12
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
13
+ # and validate the following tests:
14
+ #
15
+ # - Request VerifiableAccreditationToAccredit
16
+ # - Request VerifiableAccreditationToAccredit
17
+ # - Register VerifiableAccreditationToAccredit into the Trusted Issuers Registry
18
+ # - Register VerifiableAccreditationToAccredit into the Trusted Issuers Registry
19
+ # - Issue VerifiableAuthorisationToOnboard for Conformance Issuer's sub-account DID
20
+ # - Issue VerifiableAuthorisationToOnboard for Conformance Issuer's sub-account DID
21
+ # - Validate the issuance was correct
22
+ # - Issue VerifiableAccreditationToAttest for sub-account DID
23
+ # - Issue VerifiableAccreditationToAttest for sub-account DID
24
+ # - Validate the issuance was correct
25
+ # - Issue VerifiableAccreditationToAccredit for sub-account DID
26
+ # - Issue VerifiableAccreditationToAccredit for sub-account DID
27
27
  # - Validate the issuance was correct
@@ -1,13 +1,13 @@
1
- # revoke credential issued to subaccount
2
- subaccount: compute subaccountDid myIssuer.did
3
- attributes: tir get /issuers/ subaccount /attributes
4
- t: authorisation auth tir_write_presentation ES256
5
- using token t.access_token
6
- tir setAttributeMetadata subaccount attributes.items.0.id revoked myIssuer.did vcTAO.reservedAttributeId
7
- tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did vcTAO.reservedAttributeId
8
-
9
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
10
- # and validate the following tests:
11
- #
12
- # - Revoke accreditations from sub-account DID
1
+ # revoke credential issued to subaccount
2
+ subaccount: compute subaccountDid myIssuer.did
3
+ attributes: tir get /issuers/ subaccount /attributes
4
+ t: authorisation auth tir_write_presentation ES256
5
+ using token t.access_token
6
+ tir setAttributeMetadata subaccount attributes.items.0.id revoked myIssuer.did vcTAO.reservedAttributeId
7
+ tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did vcTAO.reservedAttributeId
8
+
9
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
10
+ # and validate the following tests:
11
+ #
12
+ # - Revoke accreditations from sub-account DID
13
13
  # - Revoke accreditations from sub-account DID
@@ -1,14 +1,14 @@
1
- # request VerifiableAuthorisationForTrustChain (Root TAO)
2
- vcRootTAO: conformance getCredential roottao ES256 vcOnboard.vc
3
-
4
- # register the credential for RootTAO
5
- t: authorisation auth tir_write_presentation ES256
6
- using token t.access_token
7
- tir setAttributeData myIssuer.did vcRootTAO.reservedAttributeId vcRootTAO.vc
8
-
9
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
10
- # and validate the following tests:
11
- #
12
- # - Request VerifiableAuthorisationForTrustChain
13
- # - Request VerifiableAuthorisationForTrustChain
1
+ # request VerifiableAuthorisationForTrustChain (Root TAO)
2
+ vcRootTAO: conformance getCredential roottao ES256 vcOnboard.vc
3
+
4
+ # register the credential for RootTAO
5
+ t: authorisation auth tir_write_presentation ES256
6
+ using token t.access_token
7
+ tir setAttributeData myIssuer.did vcRootTAO.reservedAttributeId vcRootTAO.vc
8
+
9
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
10
+ # and validate the following tests:
11
+ #
12
+ # - Request VerifiableAuthorisationForTrustChain
13
+ # - Request VerifiableAuthorisationForTrustChain
14
14
  # - Register VerifiableAuthorisationForTrustChain into the Trusted Issuers Registry
@@ -1,7 +1,7 @@
1
- # request CTAAQualificationCredential
2
- ctaaQualification: conformance getCredential qualification
3
-
4
- # Go to https://api-conformance.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
5
- # and validate the following tests:
6
- #
1
+ # request CTAAQualificationCredential
2
+ ctaaQualification: conformance getCredential qualification
3
+
4
+ # Go to https://hub.ebsi.eu/wallet-conformance/accredit-authorise/flow
5
+ # and validate the following tests:
6
+ #
7
7
  # - Request CTAAQualificationCredential from Conformance Issuer
@@ -1,35 +1,35 @@
1
- env test
2
- set domain https://api-test.ebsi.eu
3
-
4
- # create new issuer
5
- using user null
6
- using user
7
- using user ES256
8
-
9
- # request credential to onboard
10
- vcOnboard: conformance getCredential onboard
11
- set myIssuer user
12
-
13
- # register did document
14
- run registerDidDocument_ES256K_ES256 vcOnboard.vc
15
-
16
- # request VerifiableAccreditationToAttest (TI)
17
- vcTI: conformance getCredential ti
18
-
19
- # register the credential for TI
20
- t: authorisation auth tir_invite_presentation ES256 vcTI.vc
21
- using token t.access_token
22
- tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
23
- set vcTI.url https://api-test.ebsi.eu/trusted-issuers-registry/v4/issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
24
-
25
- view myIssuer
26
- # Go to https://api-test.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
27
- # and validate the following tests:
28
- #
29
- # - Onboarding
30
- # - Request VerifiableAuthorisationToOnboard
31
- # - Register your DID Document into the DID Registry
32
- #
33
- # - Get accredited as a Trusted Issuer
34
- # - Request VerifiableAccreditationToAttest
1
+ env test
2
+ set domain https://api-test.ebsi.eu
3
+
4
+ # create new issuer
5
+ using user null
6
+ using user
7
+ using user ES256
8
+
9
+ # request credential to onboard
10
+ vcOnboard: conformance getCredential onboard
11
+ set myIssuer user
12
+
13
+ # register did document
14
+ run registerDidDocument_ES256K_ES256 vcOnboard.vc
15
+
16
+ # request VerifiableAccreditationToAttest (TI)
17
+ vcTI: conformance getCredential ti
18
+
19
+ # register the credential for TI
20
+ t: authorisation auth tir_invite_presentation ES256 vcTI.vc
21
+ using token t.access_token
22
+ tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
23
+ set vcTI.url https://api-test.ebsi.eu/trusted-issuers-registry/v5/issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
24
+
25
+ view myIssuer
26
+ # Go to https://hub-test.ebsi.eu/wallet-conformance/accredit-authorise/flow
27
+ # and validate the following tests:
28
+ #
29
+ # - Onboarding
30
+ # - Request VerifiableAuthorisationToOnboard
31
+ # - Register your DID Document into the DID Registry
32
+ #
33
+ # - Get accredited as a Trusted Issuer
34
+ # - Request VerifiableAccreditationToAttest
35
35
  # - Register VerifiableAccreditationToAttest into the Trusted Issuers Registry
@@ -1,18 +1,18 @@
1
- # create a proxy
2
- conformance clientMockUpdateList 1 0 0
3
- t: authorisation auth tir_write_presentation ES256
4
- using token t.access_token
5
- set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
6
- set proxyData.prefix myIssuer.clientId
7
- tir addIssuerProxy myIssuer.did proxyData
8
- proxies: tir get /issuers/ myIssuer.did /proxies
9
- set user.proxyId proxies.items.0.proxyId
10
- set user.accreditationUrl vcTI.url
11
- conformance clientMockInitiate
12
-
13
- # Go to https://api-test.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
14
- # and validate the following tests:
15
- #
16
- # - Issue & Revoke
17
- # - Issue CTRevocable Credential with credentialStatus StatusList2021
1
+ # create a proxy
2
+ conformance clientMockUpdateList 1 0 0
3
+ t: authorisation auth tir_write_presentation ES256
4
+ using token t.access_token
5
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
6
+ set proxyData.prefix myIssuer.clientId
7
+ tir addIssuerProxy myIssuer.did proxyData
8
+ proxies: tir get /issuers/ myIssuer.did /proxies
9
+ set user.proxyId proxies.items.0.proxyId
10
+ set user.accreditationUrl vcTI.url
11
+ conformance clientMockInitiate
12
+
13
+ # Go to https://hub-test.ebsi.eu/wallet-conformance/accredit-authorise/flow
14
+ # and validate the following tests:
15
+ #
16
+ # - Issue & Revoke
17
+ # - Issue CTRevocable Credential with credentialStatus StatusList2021
18
18
  # - Validate the issued credential details
@@ -1,9 +1,9 @@
1
- # revoke credential
2
- statusListIndex: compute statusListIndex did:ebsi:zy8jAhPDbhwKN74YFWAUzD5
3
- conformance clientMockUpdateList 1 statusListIndex 1
4
-
5
- # Go to https://api-test.ebsi.eu/docs/wallet-conformance/accredit-authorise/flow
6
- # and validate the following tests:
7
- #
8
- # - Issue & Revoke
1
+ # revoke credential
2
+ statusListIndex: compute statusListIndex did:ebsi:ztTYEydcPQ2SrKoghHqxBfK
3
+ conformance clientMockUpdateList 1 statusListIndex 1
4
+
5
+ # Go to https://hub-test.ebsi.eu/wallet-conformance/accredit-authorise/flow
6
+ # and validate the following tests:
7
+ #
8
+ # - Issue & Revoke
9
9
  # - Revoke the credential and confirm