@cef-ebsi/cli 1.6.1 → 1.7.0

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.
@@ -1,7 +1,7 @@
1
1
  import Joi from "joi";
2
2
  import { randomUUID } from "node:crypto";
3
3
  import { URLSearchParams } from "node:url";
4
- import { httpCall } from "../utils/index.js";
4
+ import { estimateVcdmVersion, httpCall } from "../utils/index.js";
5
5
  import { compute } from "./compute.js";
6
6
  export async function authorisation(method, inputs, context) {
7
7
  switch (method) {
@@ -20,15 +20,18 @@ export async function authorisation(method, inputs, context) {
20
20
  }
21
21
  }
22
22
  export async function authorisationAuth(inputs, context) {
23
- const [definitionId, inputAlg, inputVc, vcdmVersion] = inputs;
23
+ const [definitionId, inputAlg, inputVc, inputVcdmVersion] = inputs;
24
24
  const alg = inputAlg || "ES256";
25
+ const vcdmVersion = inputVcdmVersion
26
+ ? Number(inputVcdmVersion).toFixed(1)
27
+ : estimateVcdmVersion(inputVc);
25
28
  const vc = inputVc ?? [];
26
29
  const vcString = typeof vc === "string" ? vc : JSON.stringify(vc);
27
30
  Joi.assert(alg, Joi.string().valid("ES256K", "ES256", "EdDSA", "RS256"));
28
31
  console.log("==> authorisation get /.well-known/openid-configuration");
29
32
  const openIdConfig = (await authorisationGet(["/.well-known/openid-configuration"], context));
30
33
  const payloadJwt = { aud: openIdConfig.issuer };
31
- console.log(`==> compute createVpJwt ${vcString} {} ${JSON.stringify(payloadJwt)} ${alg} ${vcdmVersion || "1.1"}`);
34
+ console.log(`==> compute createVpJwt ${vcString} {} ${JSON.stringify(payloadJwt)} ${alg} ${vcdmVersion}`);
32
35
  const vpJwt = (await compute("createVpJwt", [vc, {}, payloadJwt, alg, vcdmVersion], context));
33
36
  console.log(`==> authorisation token ${definitionId} ${vpJwt}`);
34
37
  return authorisationToken([definitionId, vpJwt], context);
@@ -1 +1 @@
1
- {"version":3,"file":"authorisation.js","sourceRoot":"","sources":["../../src/commands/authorisation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorisation.js","sourceRoot":"","sources":["../../src/commands/authorisation.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { base64url } from "multiformats/bases/base64";
3
3
  import { createHash, randomBytes, randomUUID } from "node:crypto";
4
4
  import { URLSearchParams } from "node:url";
5
5
  import qs from "qs";
6
- import { httpCall, red } from "../utils/index.js";
6
+ import { estimateVcdmVersion, httpCall, red } from "../utils/index.js";
7
7
  import { compute, getUserPin } from "./compute.js";
8
8
  export async function authMockAuthorize(inputs, context) {
9
9
  const [openIdCredentialIssuer, openIdConfiguration, requestedTypes, inputAlg, codeVerifier, issuerState,] = inputs;
@@ -73,7 +73,7 @@ export async function authMockAuthorize(inputs, context) {
73
73
  return responseQueryParams;
74
74
  }
75
75
  export async function authMockDirectPostIdToken(inputs, context) {
76
- const [openIdCredentialIssuer, issuerRequest, inputAlg] = inputs;
76
+ const [openIdCredentialIssuer, issuerRequest, inputAlg, vcdmVersion] = inputs;
77
77
  const alg = inputAlg || "ES256";
78
78
  Joi.assert(alg, Joi.string().valid("ES256K", "ES256", "EdDSA", "RS256"));
79
79
  const authorizationServer = openIdCredentialIssuer.authorization_server ??
@@ -92,6 +92,7 @@ export async function authMockDirectPostIdToken(inputs, context) {
92
92
  const responseDirectPost = await httpCall.post(issuerRequest.redirect_uri, new URLSearchParams({
93
93
  id_token: idTokenDirectPost,
94
94
  state,
95
+ vcdm_version: vcdmVersion,
95
96
  }).toString(), {
96
97
  headers: {
97
98
  "content-type": "application/x-www-form-urlencoded",
@@ -105,7 +106,7 @@ export async function authMockDirectPostIdToken(inputs, context) {
105
106
  return responseQueryParams;
106
107
  }
107
108
  export async function authMockDirectPostVpToken(inputs) {
108
- const [issuerRequest, vpJwt, type] = inputs;
109
+ const [issuerRequest, vpJwt, type, vcdmVersion] = inputs;
109
110
  const { state } = issuerRequest;
110
111
  const presentationSubmission = type === "holder"
111
112
  ? {
@@ -213,6 +214,7 @@ export async function authMockDirectPostVpToken(inputs) {
213
214
  const responseDirectPost = await httpCall.post(issuerRequest.redirect_uri, new URLSearchParams({
214
215
  presentation_submission: JSON.stringify(presentationSubmission),
215
216
  state,
217
+ vcdm_version: vcdmVersion,
216
218
  vp_token: vpJwt,
217
219
  }).toString(), {
218
220
  headers: {
@@ -274,8 +276,11 @@ export async function authMockToken(inputs, context) {
274
276
  return responseToken.data;
275
277
  }
276
278
  export async function check(inputs, context) {
277
- const [intent, preAuthorizedCode, userPin] = inputs;
279
+ const [intent, inputVcdmVersion, preAuthorizedCode, userPin] = inputs;
278
280
  const apiUrl = context.config.api.conformance.url;
281
+ const vcdmVersion = inputVcdmVersion
282
+ ? Number(inputVcdmVersion).toFixed(1)
283
+ : "1.1";
279
284
  const response = await httpCall.post(`${apiUrl}/check`, {
280
285
  data: {
281
286
  clientId: context.client.clientId,
@@ -287,6 +292,7 @@ export async function check(inputs, context) {
287
292
  preAuthorizedCode,
288
293
  userPin,
289
294
  }),
295
+ vcdmVersion,
290
296
  },
291
297
  intent,
292
298
  });
@@ -319,6 +325,17 @@ export async function clientMockInitiate(context) {
319
325
  context.client.clientId;
320
326
  return response.data;
321
327
  }
328
+ export async function clientMockUpdateBitstringList(inputs, context) {
329
+ const [statusIndex, statusListIndex, value] = inputs;
330
+ const apiUrl = context.config.api.conformance.url;
331
+ const response = await httpCall.post(`${apiUrl}/client-mock/updateBitstringStatusList`, {
332
+ did: context.client.did,
333
+ id: statusIndex.toString(),
334
+ position: Number(statusListIndex),
335
+ value: Number(value),
336
+ });
337
+ return response.data;
338
+ }
322
339
  export async function clientMockUpdateList(inputs, context) {
323
340
  const [statusIndex, statusListIndex, value] = inputs;
324
341
  const apiUrl = context.config.api.conformance.url;
@@ -350,6 +367,9 @@ export async function conformance(method, inputs, context) {
350
367
  case "clientMockInitiate": {
351
368
  return clientMockInitiate(context);
352
369
  }
370
+ case "clientMockUpdateBitstringList": {
371
+ return clientMockUpdateBitstringList(inputs, context);
372
+ }
353
373
  case "clientMockUpdateList": {
354
374
  return clientMockUpdateList(inputs, context);
355
375
  }
@@ -384,8 +404,11 @@ export async function conformanceGet(inputs, context) {
384
404
  return response.data;
385
405
  }
386
406
  export async function getCredential(inputs, context) {
387
- const [type, inputAlg, inputVc, inputIssuer, vcdmVersion] = inputs;
407
+ const [type, inputAlg, inputVcdmVersion, inputVc, inputIssuer] = inputs;
388
408
  const alg = inputAlg || "ES256";
409
+ const vcdmVersion = inputVcdmVersion
410
+ ? Number(inputVcdmVersion).toFixed(1)
411
+ : estimateVcdmVersion(inputVc);
389
412
  const vc = inputVc ?? [];
390
413
  const vcString = typeof vc === "string" ? vc : JSON.stringify(vc);
391
414
  let openIdCredentialIssuerUrl;
@@ -425,29 +448,53 @@ export async function getCredential(inputs, context) {
425
448
  break;
426
449
  }
427
450
  case "roottao": {
428
- requestedTypes = [
429
- "VerifiableCredential",
430
- "VerifiableAttestation",
431
- "VerifiableAuthorisationForTrustChain",
432
- ];
451
+ requestedTypes =
452
+ vcdmVersion === "1.1"
453
+ ? [
454
+ "VerifiableCredential",
455
+ "VerifiableAttestation",
456
+ "VerifiableAuthorisationForTrustChain",
457
+ ]
458
+ : [
459
+ "VerifiableCredential",
460
+ "VerifiableAttestation",
461
+ // "VerifiableTrustModel",
462
+ "VerifiableAuthorisationForTrustChain",
463
+ ];
433
464
  break;
434
465
  }
435
466
  case "tao": {
436
- requestedTypes = [
437
- "VerifiableCredential",
438
- "VerifiableAttestation",
439
- "VerifiableAccreditation",
440
- "VerifiableAccreditationToAccredit",
441
- ];
467
+ requestedTypes =
468
+ vcdmVersion === "1.1"
469
+ ? [
470
+ "VerifiableCredential",
471
+ "VerifiableAttestation",
472
+ "VerifiableAccreditation",
473
+ "VerifiableAccreditationToAccredit",
474
+ ]
475
+ : [
476
+ "VerifiableCredential",
477
+ "VerifiableAttestation",
478
+ "VerifiableTrustModel",
479
+ "VerifiableAccreditationToAccredit",
480
+ ];
442
481
  break;
443
482
  }
444
483
  case "ti": {
445
- requestedTypes = [
446
- "VerifiableCredential",
447
- "VerifiableAttestation",
448
- "VerifiableAccreditation",
449
- "VerifiableAccreditationToAttest",
450
- ];
484
+ requestedTypes =
485
+ vcdmVersion === "1.1"
486
+ ? [
487
+ "VerifiableCredential",
488
+ "VerifiableAttestation",
489
+ "VerifiableAccreditation",
490
+ "VerifiableAccreditationToAttest",
491
+ ]
492
+ : [
493
+ "VerifiableCredential",
494
+ "VerifiableAttestation",
495
+ "VerifiableTrustModel",
496
+ "VerifiableAccreditationToAttest",
497
+ ];
451
498
  break;
452
499
  }
453
500
  default: {
@@ -474,13 +521,15 @@ export async function getCredential(inputs, context) {
474
521
  if (type === "roottao") {
475
522
  const payloadJwt = { aud: opConf.issuer };
476
523
  // vpJwt: compute createVpJwt vc {} {aud:opConf.issuer} alg vcdmVersion
477
- console.log(`==> compute createVpJwt ${vcString} {} ${JSON.stringify(payloadJwt)} ${alg} ${vcdmVersion || "1.1"}`);
478
- const vpJwt = (await compute("createVpJwt", [vc, {}, payloadJwt, alg, vcdmVersion || "1.1"], context));
524
+ console.log(`==> compute createVpJwt ${vcString} {} ${JSON.stringify(payloadJwt)} ${alg} ${vcdmVersion}`);
525
+ const vpJwt = (await compute("createVpJwt", [vc, {}, payloadJwt, alg, vcdmVersion], context));
479
526
  // respDirectPost: conformance authMockDirectPostVpToken respAuthorize ES256
480
- console.log(`==> conformance authMockDirectPostVpToken ${JSON.stringify(respAuthorize)} ${vpJwt}`);
527
+ console.log(`==> conformance authMockDirectPostVpToken ${JSON.stringify(respAuthorize)} ${vpJwt} onboard ${vcdmVersion}`);
481
528
  const respDirectPost = (await authMockDirectPostVpToken([
482
529
  respAuthorize,
483
530
  vpJwt,
531
+ "onboard",
532
+ vcdmVersion,
484
533
  ]));
485
534
  code = respDirectPost.code;
486
535
  }
@@ -489,8 +538,8 @@ export async function getCredential(inputs, context) {
489
538
  console.log(`==> conformance authMockDirectPostIdToken ${stringify(opIssuer, [
490
539
  "authorization_server",
491
540
  "credential_issuer",
492
- ])} ${JSON.stringify(respAuthorize)} ${alg}`);
493
- const respDirectPost = (await authMockDirectPostIdToken([opIssuer, respAuthorize, alg], context));
541
+ ])} ${JSON.stringify(respAuthorize)} ${alg} ${vcdmVersion}`);
542
+ const respDirectPost = (await authMockDirectPostIdToken([opIssuer, respAuthorize, alg, vcdmVersion], context));
494
543
  code = respDirectPost.code;
495
544
  }
496
545
  // resToken: conformance authMockToken opIssuer opConf respDirectPost.code ES256
@@ -509,8 +558,8 @@ export async function getCredential(inputs, context) {
509
558
  // resCredential: conformance issuerMockCredential opIssuer resToken.c_nonce requestedTypes ES256
510
559
  console.log(`==> conformance issuerMockCredential ${stringify(opIssuer, [
511
560
  "credential_issuer",
512
- ])} ${respToken.c_nonce} ${JSON.stringify(requestedTypes)} ${alg}`);
513
- const respCredential = (await issuerMockCredential([opIssuer, respToken.c_nonce, requestedTypes, alg], context));
561
+ ])} ${respToken.c_nonce} ${JSON.stringify(requestedTypes)} ${alg} ${vcdmVersion}`);
562
+ const respCredential = (await issuerMockCredential([opIssuer, respToken.c_nonce, requestedTypes, alg, vcdmVersion], context));
514
563
  let credential;
515
564
  if (type === "roottao") {
516
565
  console.log(`waiting 5.5 seconds...`);
@@ -545,8 +594,11 @@ export async function getCredential(inputs, context) {
545
594
  }
546
595
  export async function holder(inputs, context) {
547
596
  const apiUrl = context.config.api.conformance.url;
548
- const [credentialType, communicationType, inputAlg, inputVc, typeCredentialOffer, inputIssuer, vcdmVersion,] = inputs;
597
+ const [credentialType, communicationType, inputAlg, inputVcdmVersion, inputVc, typeCredentialOffer, inputIssuer,] = inputs;
549
598
  const alg = inputAlg || "ES256";
599
+ const vcdmVersion = inputVcdmVersion
600
+ ? Number(inputVcdmVersion).toFixed(1)
601
+ : estimateVcdmVersion(inputVc);
550
602
  const vc = inputVc ?? [];
551
603
  const vcString = typeof vc === "string" ? vc : JSON.stringify(vc);
552
604
  const codeVerifier = randomBytes(50).toString("base64url");
@@ -624,11 +676,12 @@ export async function holder(inputs, context) {
624
676
  console.log(`==> compute createVpJwt ${vcString} {} ${JSON.stringify(payloadJwt)} ${alg} ${vcdmVersion || "1.1"}`);
625
677
  const vpJwt = (await compute("createVpJwt", [vc, {}, payloadJwt, alg, vcdmVersion || "1.1"], context));
626
678
  // respDirectPost: conformance authMockDirectPostVpToken respAuthorize ES256
627
- console.log(`==> conformance authMockDirectPostVpToken ${JSON.stringify(respAuthorize)} ${vpJwt} holder`);
679
+ console.log(`==> conformance authMockDirectPostVpToken ${JSON.stringify(respAuthorize)} ${vpJwt} holder ${vcdmVersion}`);
628
680
  const respDirectPost = (await authMockDirectPostVpToken([
629
681
  respAuthorize,
630
682
  vpJwt,
631
683
  "holder",
684
+ vcdmVersion,
632
685
  ]));
633
686
  code = respDirectPost.code;
634
687
  }
@@ -637,8 +690,8 @@ export async function holder(inputs, context) {
637
690
  console.log(`==> conformance authMockDirectPostIdToken ${stringify(opIssuer, [
638
691
  "authorization_server",
639
692
  "credential_issuer",
640
- ])} ${JSON.stringify(respAuthorize)} ${alg}`);
641
- const respDirectPost = (await authMockDirectPostIdToken([opIssuer, respAuthorize, alg], context));
693
+ ])} ${JSON.stringify(respAuthorize)} ${alg} ${vcdmVersion}`);
694
+ const respDirectPost = (await authMockDirectPostIdToken([opIssuer, respAuthorize, alg, vcdmVersion], context));
642
695
  code = respDirectPost.code;
643
696
  }
644
697
  }
@@ -667,8 +720,8 @@ export async function holder(inputs, context) {
667
720
  // resCredential: conformance issuerMockCredential opIssuer resToken.c_nonce requestedTypes ES256
668
721
  console.log(`==> conformance issuerMockCredential ${stringify(opIssuer, [
669
722
  "credential_issuer",
670
- ])} ${respToken.c_nonce} ${JSON.stringify(requestedTypes)} ${alg}`);
671
- const respCredential = (await issuerMockCredential([opIssuer, respToken.c_nonce, requestedTypes, alg], context));
723
+ ])} ${respToken.c_nonce} ${JSON.stringify(requestedTypes)} ${alg} ${vcdmVersion}`);
724
+ const respCredential = (await issuerMockCredential([opIssuer, respToken.c_nonce, requestedTypes, alg, vcdmVersion], context));
672
725
  let credential;
673
726
  const isDeferred = communicationType.toLowerCase().endsWith("deferred");
674
727
  if (isDeferred) {
@@ -692,8 +745,9 @@ export async function holder(inputs, context) {
692
745
  return credential;
693
746
  }
694
747
  export async function issuerMockCredential(inputs, context) {
695
- const [openIdCredentialIssuer, nonce, requestedTypes, inputAlg] = inputs;
748
+ const [openIdCredentialIssuer, nonce, requestedTypes, inputAlg, inputVcdmVersion,] = inputs;
696
749
  const alg = inputAlg || "ES256";
750
+ const vcdmVersion = Number(inputVcdmVersion || "1.1").toFixed(1);
697
751
  const clientId = context.client.didVersion === 1
698
752
  ? context.client.clientId
699
753
  : context.client.did;
@@ -709,7 +763,7 @@ export async function issuerMockCredential(inputs, context) {
709
763
  const proofJwt = await context.client.signJWT(jwtPayload, {
710
764
  typ: "openid4vci-proof+jwt",
711
765
  }, alg);
712
- const responseCredential = await httpCall.post(`${openIdCredentialIssuer.credential_issuer}/credential`, {
766
+ const responseCredential = await httpCall.post(`${openIdCredentialIssuer.credential_issuer}/credential?vcdm_version=${vcdmVersion}`, {
713
767
  format: "jwt_vc",
714
768
  proof: {
715
769
  jwt: proofJwt,
@@ -1 +1 @@
1
- {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/commands/conformance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conformance.js","sourceRoot":"","sources":["../../src/commands/conformance.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  # request VerifiableAuthorisationForTrustChain (Root TAO)
2
- vcRootTAO: conformance getCredential roottao ES256 vcOnboard.vc
2
+ vcRootTAO: conformance getCredential roottao ES256 1.1 vcOnboard.vc
3
3
 
4
4
  # register the credential for RootTAO
5
5
  t: authorisation auth tir_write_presentation ES256
@@ -1,5 +1,5 @@
1
1
  # request VerifiableAuthorisationForTrustChain (Root TAO)
2
- vcRootTAO: conformance getCredential roottao ES256 vcOnboard.vc
2
+ vcRootTAO: conformance getCredential roottao ES256 1.1 vcOnboard.vc
3
3
 
4
4
  # register the credential for RootTAO
5
5
  t: authorisation auth tir_write_presentation ES256
@@ -1,6 +1,6 @@
1
1
  # ==> run registerIssuer <vc>
2
2
  jwtDecoded: compute decodeJWT $1
3
3
  set reservedAttributeId jwtDecoded.payload.vc.credentialSubject.reservedAttributeId
4
- resAuthTIR: authorisation auth tir_invite_presentation ES256 $1 1.1
4
+ resAuthTIR: authorisation auth tir_invite_presentation ES256 $1
5
5
  using token resAuthTIR.access_token
6
6
  tir setAttributeData user.did reservedAttributeId $1
@@ -6,7 +6,7 @@ using user
6
6
  using user ES256 did1 user.keys.ES256K.privateKeyHex
7
7
 
8
8
  # request credential to onboard
9
- vcOnboard: conformance getCredential onboard
9
+ vcOnboard: conformance getCredential onboard ES256 1.1
10
10
  set myIssuer user
11
11
  conformance check ti_request_verifiable_authorisation_to_onboard
12
12
 
@@ -48,6 +48,29 @@ statusListIndex: compute statusListIndex did:ebsi:ztTYEydcPQ2SrKoghHqxBfK
48
48
  conformance clientMockUpdateList 1 statusListIndex 1
49
49
  conformance check ti_revoke_ctrevocable
50
50
 
51
+ # create a proxy for bitstring
52
+ conformance clientMockUpdateBitstringList 1 0 0
53
+ t: authorisation auth tir_write_presentation ES256
54
+ using token t.access_token
55
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/bitstring-status/1"}
56
+ set proxyData.prefix myIssuer.clientId
57
+ tir addIssuerProxy myIssuer.did proxyData
58
+ proxies: tir get /issuers/ myIssuer.did /proxies
59
+ set user.proxyId proxies.items.1.proxyId
60
+ set user.accreditationUrl vcTI.url
61
+ conformance clientMockInitiate
62
+
63
+ # issue CTRevocable with credentialStatus bitstring
64
+ conformance check ti_request_bitstring_ctrevocable
65
+
66
+ # Validate the issued credential details
67
+ conformance check ti_validate_bitstring_ctrevocable
68
+
69
+ # revoke credential
70
+ statusListIndex: compute statusListIndex did:ebsi:ztTYEydcPQ2SrKoghHqxBfK
71
+ conformance clientMockUpdateBitstringList 1 statusListIndex 1
72
+ conformance check ti_revoke_bitstring_ctrevocable
73
+
51
74
  # request VerifiableAccreditationToAccredit (TAO)
52
75
  vcTAO: conformance getCredential tao
53
76
  conformance check tao_request_verifiable_accreditation_to_accredit
@@ -89,7 +112,7 @@ tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did v
89
112
  conformance check tao_revoke_rights_subaccount
90
113
 
91
114
  # request VerifiableAuthorisationForTrustChain (Root TAO)
92
- vcRootTAO: conformance getCredential roottao ES256 vcOnboard.vc "" 1.1
115
+ vcRootTAO: conformance getCredential roottao ES256 1.1 vcOnboard.vc
93
116
  conformance check rtao_request_verifiableauthorisationfortrustchain
94
117
 
95
118
  # register the credential for RootTAO
@@ -0,0 +1,91 @@
1
+ env test
2
+
3
+ # create new issuer
4
+ using user null
5
+ using user
6
+ using user ES256 did1 user.keys.ES256K.privateKeyHex
7
+
8
+ # request credential to onboard
9
+ vcOnboard: conformance getCredential onboard ES256 2.0
10
+ conformance check ti_request_verifiable_authorisation_to_onboard
11
+
12
+ set myIssuer user
13
+
14
+ # register did document
15
+ run vcdm2.0/registerDidDocument vcOnboard.vc
16
+ conformance check ti_register_did
17
+
18
+ # request VerifiableAccreditationToAttest (TI)
19
+ vcTI: conformance getCredential ti ES256 2.0
20
+ conformance check ti_request_verifiable_accreditation_to_attest
21
+
22
+ # register the credential for TI
23
+ t: authorisation auth tir_invite_presentation ES256 vcTI.vc 2.0
24
+ using token t.access_token
25
+ tir setAttributeData myIssuer.did vcTI.reservedAttributeId vcTI.vc
26
+ set vcTI.url tirUrl /issuers/ myIssuer.did /attributes/ vcTI.reservedAttributeId
27
+ conformance check ti_register_verifiable_accreditation_to_attest
28
+
29
+ # create a proxy
30
+ conformance clientMockUpdateList 1 0 0
31
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
32
+ using token t.access_token
33
+ set proxyData {"prefix":"","headers":{},"testSuffix":"/credentials/status/1"}
34
+ set proxyData.prefix myIssuer.clientId
35
+ tir addIssuerProxy myIssuer.did proxyData
36
+ proxies: tir get /issuers/ myIssuer.did /proxies
37
+ set user.proxyId proxies.items.0.proxyId
38
+ set user.accreditationUrl vcTI.url
39
+ conformance clientMockInitiate
40
+
41
+ # request VerifiableAccreditationToAccredit (TAO)
42
+ vcTAO: conformance getCredential tao ES256 2.0
43
+ conformance check tao_request_verifiable_accreditation_to_accredit
44
+
45
+ # register the credential for TAO
46
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
47
+ using token t.access_token
48
+ tir setAttributeData myIssuer.did vcTAO.reservedAttributeId vcTAO.vc
49
+ set vcTAO.url tirUrl /issuers/ myIssuer.did /attributes/ vcTAO.reservedAttributeId
50
+ set user.accreditationUrl vcTAO.url
51
+ conformance clientMockInitiate
52
+ conformance check tao_register_verifiable_accreditation_to_accredit 2.0
53
+
54
+ # request credential to onboard sub-account
55
+ conformance check tao_request_verifiable_authorisation_to_onboard_subaccount 2.0
56
+
57
+ # validate credential and register sub-account
58
+ conformance check tao_validate_verifiable_authorisation_to_onboard_subaccount 2.0
59
+
60
+ # request VerifiableAccreditationToAttest for sub-account (TI)
61
+ conformance check tao_request_verifiable_accreditation_to_attest_subaccount 2.0
62
+
63
+ # validate and register credential for sub-account
64
+ conformance check tao_validate_verifiable_accreditation_to_attest_subaccount 2.0
65
+
66
+ # request VerifiableAccreditationToAccredit for sub-account (TAO)
67
+ conformance check tao_request_verifiable_accreditation_to_accredit_subaccount 2.0
68
+
69
+ # validate and register credential for sub-account
70
+ conformance check tao_validate_verifiable_accreditation_to_accredit_subaccount 2.0
71
+
72
+ # revoke credentials issued to subaccount
73
+ subaccount: compute subaccountDid myIssuer.did
74
+ attributes: tir get /issuers/ subaccount /attributes
75
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
76
+ using token t.access_token
77
+ tir setAttributeMetadata subaccount attributes.items.0.id revoked myIssuer.did vcTAO.reservedAttributeId
78
+ tir setAttributeMetadata subaccount attributes.items.1.id revoked myIssuer.did vcTAO.reservedAttributeId
79
+ conformance check tao_revoke_rights_subaccount 2.0
80
+
81
+ # request VerifiableAuthorisationForTrustChain (Root TAO)
82
+ vcRootTAO: conformance getCredential roottao ES256 2.0 vcOnboard.vc
83
+ conformance check rtao_request_verifiableauthorisationfortrustchain 2.0
84
+
85
+ # register the credential for RootTAO
86
+ t: authorisation auth tir_write_presentation ES256 [] 2.0
87
+ using token t.access_token
88
+ tir setAttributeData myIssuer.did vcRootTAO.reservedAttributeId vcRootTAO.vc
89
+ conformance check rtao_register_verifiableauthorisationfortrustchain 2.0
90
+
91
+ # ACCREDIT AND AUTHORIZE TESTS FINISHED FOR VCDM 2.0!!