@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.
- package/dist/commands/authorisation.js +6 -3
- package/dist/commands/authorisation.js.map +1 -1
- package/dist/commands/conformance.js +91 -37
- package/dist/commands/conformance.js.map +1 -1
- package/dist/scripts/accreditAndAuthorize/conformance/step6 +1 -1
- package/dist/scripts/accreditAndAuthorize/test/step6 +1 -1
- package/dist/scripts/registerIssuer +1 -1
- package/dist/scripts/wct/accreditAndAuthorize +25 -2
- package/dist/scripts/wct/accreditAndAuthorize2 +91 -0
- package/dist/scripts/wct/holderWallet +9 -9
- package/dist/scripts/wct/holderWallet2 +39 -0
- package/dist/scripts/wct/issueToHolder +9 -9
- package/dist/scripts/wct/issueToHolder2 +38 -0
- package/dist/scripts/wct/verifier2 +7 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/vcdm.js +34 -0
- package/dist/utils/vcdm.js.map +1 -0
- package/package.json +1 -1
|
@@ -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,
|
|
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
|
|
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":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
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
|
|
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
|
-
"
|
|
430
|
-
|
|
431
|
-
|
|
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
|
-
"
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
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
|
-
"
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
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
|
|
478
|
-
const vpJwt = (await compute("createVpJwt", [vc, {}, payloadJwt, alg, vcdmVersion
|
|
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,
|
|
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
|
|
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
|
|
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!!
|