@veramo/credential-ld 5.6.1-unstable.36 → 6.0.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/build/action-handler.d.ts +49 -1
- package/build/action-handler.d.ts.map +1 -1
- package/build/action-handler.js +8 -8
- package/build/action-handler.js.map +1 -1
- package/build/index.d.ts +1 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/ld-context-loader.js.map +1 -1
- package/build/ld-credential-module.d.ts +11 -6
- package/build/ld-credential-module.d.ts.map +1 -1
- package/build/ld-credential-module.js +19 -11
- package/build/ld-credential-module.js.map +1 -1
- package/build/ld-default-contexts.js +2 -2
- package/build/ld-default-contexts.js.map +1 -1
- package/build/ld-suite-loader.d.ts +1 -1
- package/build/ld-suite-loader.d.ts.map +1 -1
- package/build/ld-suite-loader.js +9 -9
- package/build/ld-suite-loader.js.map +1 -1
- package/build/ld-suites.d.ts +1 -1
- package/build/ld-suites.d.ts.map +1 -1
- package/build/ld-suites.js.map +1 -1
- package/build/plugin.schema.d.ts +430 -0
- package/build/plugin.schema.d.ts.map +1 -0
- package/build/{plugin.schema.json → plugin.schema.js} +65 -16
- package/build/plugin.schema.js.map +1 -0
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts.map +1 -1
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.js +3 -1
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.js.map +1 -1
- package/build/suites/Ed25519Signature2018.d.ts +1 -1
- package/build/suites/Ed25519Signature2018.d.ts.map +1 -1
- package/build/suites/Ed25519Signature2018.js +3 -2
- package/build/suites/Ed25519Signature2018.js.map +1 -1
- package/build/suites/Ed25519Signature2020.d.ts +1 -1
- package/build/suites/Ed25519Signature2020.d.ts.map +1 -1
- package/build/suites/Ed25519Signature2020.js +3 -2
- package/build/suites/Ed25519Signature2020.js.map +1 -1
- package/build/suites/JsonWebSignature2020.d.ts +1 -1
- package/build/suites/JsonWebSignature2020.d.ts.map +1 -1
- package/build/suites/JsonWebSignature2020.js +2 -1
- package/build/suites/JsonWebSignature2020.js.map +1 -1
- package/build/tsdoc-metadata.json +1 -1
- package/build/types.d.ts +5 -5
- package/build/types.d.ts.map +1 -1
- package/package.json +9 -11
- package/src/action-handler.ts +13 -10
- package/src/index.ts +2 -1
- package/src/ld-credential-module.ts +28 -19
- package/src/ld-suite-loader.ts +10 -10
- package/src/ld-suites.ts +1 -1
- package/src/{plugin.schema.json → plugin.schema.ts} +63 -15
- package/src/suites/EcdsaSecp256k1RecoverySignature2020.ts +3 -1
- package/src/suites/Ed25519Signature2018.ts +4 -3
- package/src/suites/Ed25519Signature2020.ts +4 -3
- package/src/suites/JsonWebSignature2020.ts +3 -2
- package/src/types.ts +5 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.js","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,QAAQ,MAAM,oDAAoD,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5G,MAAM,EAAE,gCAAgC,EAAE,mCAAmC,EAAE,GAAG,QAAQ,CAAA;AAE1F;;;;GAIG;AACH,MAAM,OAAO,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B;QAC1B,OAAO,kCAAkC,CAAA;
|
|
1
|
+
{"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.js","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { CredentialPayload, DIDDocument, IAgentContext, IKey, TKeyType } from '@
|
|
|
6
6
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
7
7
|
*/
|
|
8
8
|
export declare class VeramoEd25519Signature2018 extends VeramoLdSignature {
|
|
9
|
-
getSupportedVerificationType(): string;
|
|
9
|
+
getSupportedVerificationType(): string[];
|
|
10
10
|
getSupportedVeramoKeyType(): TKeyType;
|
|
11
11
|
getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): any;
|
|
12
12
|
getSuiteForVerification(): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2018.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlG;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2018.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlG;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM,EAAE;IAKxC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IA2CN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
|
|
@@ -8,7 +8,8 @@ import { Ed25519Signature2018, Ed25519VerificationKey2018 } from '@transmute/ed2
|
|
|
8
8
|
*/
|
|
9
9
|
export class VeramoEd25519Signature2018 extends VeramoLdSignature {
|
|
10
10
|
getSupportedVerificationType() {
|
|
11
|
-
return 'Ed25519VerificationKey2018';
|
|
11
|
+
return ['Ed25519VerificationKey2018', 'JsonWebKey2020'];
|
|
12
|
+
// TODO: add support for ['Ed25519VerificationKey2020', 'Multikey']
|
|
12
13
|
}
|
|
13
14
|
getSupportedVeramoKeyType() {
|
|
14
15
|
return 'Ed25519';
|
|
@@ -42,7 +43,7 @@ export class VeramoEd25519Signature2018 extends VeramoLdSignature {
|
|
|
42
43
|
controller,
|
|
43
44
|
publicKey: hexToBytes(key.publicKeyHex),
|
|
44
45
|
signer: () => signer,
|
|
45
|
-
type:
|
|
46
|
+
type: 'Ed25519VerificationKey2018',
|
|
46
47
|
});
|
|
47
48
|
// overwrite the signer since we're not passing the private key and transmute doesn't support that behavior
|
|
48
49
|
verificationKey.signer = () => signer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAA;QACvD,mEAAmE;IACrE,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,kBAAkB,CAChB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,IAAI,0BAA0B,CAAC;YACrD,EAAE;YACF,UAAU;YACV,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAA;QACF,2GAA2G;QAC3G,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAa,CAAA;QAE5C,OAAO,IAAI,oBAAoB,CAAC;YAC9B,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,oBAAoB,EAAE,CAAA;IACnC,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,qBAAqB;IACvB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,qBAAqB;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
|
@@ -6,7 +6,7 @@ import { CredentialPayload, DIDDocComponent, DIDDocument, IAgentContext, IKey, I
|
|
|
6
6
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
7
7
|
*/
|
|
8
8
|
export declare class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
9
|
-
getSupportedVerificationType(): string;
|
|
9
|
+
getSupportedVerificationType(): string[];
|
|
10
10
|
getSupportedVeramoKeyType(): TKeyType;
|
|
11
11
|
getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
|
|
12
12
|
getSuiteForVerification(): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2020.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAiB3B;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2020.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAiB3B;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM,EAAE;IAKxC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAoCf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA0C1D,OAAO,CAAC,2BAA2B;CAWpC"}
|
|
@@ -11,7 +11,8 @@ const debug = Debug('veramo:credential-ld:Ed25519Signature2020');
|
|
|
11
11
|
*/
|
|
12
12
|
export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
13
13
|
getSupportedVerificationType() {
|
|
14
|
-
return 'Ed25519VerificationKey2020';
|
|
14
|
+
return ['Ed25519VerificationKey2020', 'Ed25519VerificationKey2018'];
|
|
15
|
+
// TODO: add support for ['JsonWebKey2020', 'Multikey']
|
|
15
16
|
}
|
|
16
17
|
getSupportedVeramoKeyType() {
|
|
17
18
|
return 'Ed25519';
|
|
@@ -42,7 +43,7 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
|
42
43
|
});
|
|
43
44
|
// overwrite the signer since we're not passing the private key
|
|
44
45
|
verificationKey.signer = () => signer;
|
|
45
|
-
verificationKey.type =
|
|
46
|
+
verificationKey.type = 'Ed25519VerificationKey2020';
|
|
46
47
|
return new Ed25519Signature2020({
|
|
47
48
|
key: verificationKey,
|
|
48
49
|
signer: signer,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAUzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAA;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mDAAmD,CAAA;AAC9F,OAAO,EACL,OAAO,EACP,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,GACX,MAAM,eAAe,CAAA;AAGtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,KAAK,GAAG,KAAK,CAAC,2CAA2C,CAAC,CAAA;AAEhE;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { RequiredAgentMethods, VeramoLdSignature } from '../ld-suites.js';
|
|
|
6
6
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
7
7
|
*/
|
|
8
8
|
export declare class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
9
|
-
getSupportedVerificationType():
|
|
9
|
+
getSupportedVerificationType(): string;
|
|
10
10
|
getSupportedVeramoKeyType(): TKeyType;
|
|
11
11
|
getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
|
|
12
12
|
getSuiteForVerification(): any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonWebSignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAYzE;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,
|
|
1
|
+
{"version":3,"file":"JsonWebSignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAYzE;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;IAKtC,yBAAyB,IAAI,QAAQ;IAI/B,kBAAkB,CACtB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAsDf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
|
|
@@ -9,6 +9,7 @@ import { asArray, bytesToBase64, bytesToBase64url, concat, encodeJoseBlob, hexTo
|
|
|
9
9
|
export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
10
10
|
getSupportedVerificationType() {
|
|
11
11
|
return 'JsonWebKey2020';
|
|
12
|
+
// TODO: add support for ['Ed25519VerificationKey2018', 'Ed25519VerificationKey2020', 'Multikey'] and others
|
|
12
13
|
}
|
|
13
14
|
getSupportedVeramoKeyType() {
|
|
14
15
|
return 'Ed25519';
|
|
@@ -39,7 +40,7 @@ export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
|
39
40
|
};
|
|
40
41
|
const verificationKey = await JsonWebKey.from({
|
|
41
42
|
id: id,
|
|
42
|
-
type:
|
|
43
|
+
type: 'JsonWebKey2020',
|
|
43
44
|
controller: controller,
|
|
44
45
|
publicKeyJwk: {
|
|
45
46
|
kty: 'OKP',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,gBAAgB,CAAA;QACrB,4GAA4G;IAChH,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YAC5C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE;gBACZ,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAClD;SACF,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;YACjC,GAAG,EAAE,eAAe;SACrB,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACvF,QAAQ,CAAC,UAAU,CAAC,GAAG;gBACrB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtC,8CAA8C;aAC/C,CAAA;QACH,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,MAAM;IACR,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,aAAa;QACb,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
|
package/build/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialPayload, IAgentContext, IDIDManager, IKey, IKeyManager, IPluginMethodMap, IResolver, PresentationPayload, VerifiableCredential, VerifiablePresentation } from '@veramo/core-types';
|
|
1
|
+
import { CredentialPayload, IAgentContext, IDIDManager, IKey, IKeyManager, IPluginMethodMap, IResolver, PresentationPayload, UsingResolutionOptions, VerifiableCredential, VerifiablePresentation } from '@veramo/core-types';
|
|
2
2
|
/**
|
|
3
3
|
* The interface definition for a plugin that can issue and verify Verifiable Credentials and Presentations
|
|
4
4
|
* that use JSON-LD format (also called Data Integrity Proofs).
|
|
@@ -81,7 +81,7 @@ export interface ICredentialIssuerLD extends IPluginMethodMap {
|
|
|
81
81
|
*
|
|
82
82
|
* @beta This API may change without a BREAKING CHANGE notice.
|
|
83
83
|
*/
|
|
84
|
-
export interface ICreateVerifiablePresentationLDArgs {
|
|
84
|
+
export interface ICreateVerifiablePresentationLDArgs extends UsingResolutionOptions {
|
|
85
85
|
/**
|
|
86
86
|
* The json payload of the Presentation according to the
|
|
87
87
|
* {@link https://www.w3.org/TR/vc-data-model/#presentations | canonical model}.
|
|
@@ -121,7 +121,7 @@ export interface ICreateVerifiablePresentationLDArgs {
|
|
|
121
121
|
*
|
|
122
122
|
* @beta This API may change without a BREAKING CHANGE notice.
|
|
123
123
|
*/
|
|
124
|
-
export interface ICreateVerifiableCredentialLDArgs {
|
|
124
|
+
export interface ICreateVerifiableCredentialLDArgs extends UsingResolutionOptions {
|
|
125
125
|
/**
|
|
126
126
|
* The json payload of the Credential according to the
|
|
127
127
|
* {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
|
|
@@ -153,7 +153,7 @@ export interface ICreateVerifiableCredentialLDArgs {
|
|
|
153
153
|
*
|
|
154
154
|
* @beta This API may change without a BREAKING CHANGE notice
|
|
155
155
|
*/
|
|
156
|
-
export interface IVerifyCredentialLDArgs {
|
|
156
|
+
export interface IVerifyCredentialLDArgs extends UsingResolutionOptions {
|
|
157
157
|
/**
|
|
158
158
|
* The json payload of the Credential according to the
|
|
159
159
|
* {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
|
|
@@ -180,7 +180,7 @@ export interface IVerifyCredentialLDArgs {
|
|
|
180
180
|
*
|
|
181
181
|
* @beta This API may change without a BREAKING CHANGE notice.
|
|
182
182
|
*/
|
|
183
|
-
export interface IVerifyPresentationLDArgs {
|
|
183
|
+
export interface IVerifyPresentationLDArgs extends UsingResolutionOptions {
|
|
184
184
|
/**
|
|
185
185
|
* The json payload of the Credential according to the
|
|
186
186
|
* {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
|
package/build/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;;;;;;;;;;;;OAcG;IACH,8BAA8B,CAC5B,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,4BAA4B,CAC1B,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9F;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAElG;;;;;;OAMG;IACH,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5E;AAED;;;;;GAKG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veramo/credential-ld",
|
|
3
3
|
"description": "Veramo plugin for working with W3C JSON-LD Verifiable Credentials & Presentations.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "6.0.0",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"exports": {
|
|
7
|
-
".": "./build/index.js"
|
|
8
|
-
"./build/plugin.schema.json": "./build/plugin.schema.json"
|
|
7
|
+
".": "./build/index.js"
|
|
9
8
|
},
|
|
10
9
|
"types": "build/index.d.ts",
|
|
11
10
|
"scripts": {
|
|
@@ -18,17 +17,17 @@
|
|
|
18
17
|
}
|
|
19
18
|
},
|
|
20
19
|
"dependencies": {
|
|
21
|
-
"@digitalcredentials/ed25519-signature-2020": "^
|
|
20
|
+
"@digitalcredentials/ed25519-signature-2020": "^4.0.0",
|
|
22
21
|
"@digitalcredentials/ed25519-verification-key-2020": "^4.0.0",
|
|
23
22
|
"@digitalcredentials/jsonld": "^6.0.0",
|
|
24
|
-
"@digitalcredentials/jsonld-signatures": "^
|
|
25
|
-
"@digitalcredentials/vc": "^
|
|
23
|
+
"@digitalcredentials/jsonld-signatures": "^10.0.0",
|
|
24
|
+
"@digitalcredentials/vc": "^7.0.0",
|
|
26
25
|
"@transmute/credentials-context": "^0.7.0-unstable.81",
|
|
27
26
|
"@transmute/ed25519-signature-2018": "^0.7.0-unstable.81",
|
|
28
27
|
"@transmute/json-web-signature": "^0.7.0-unstable.81",
|
|
29
28
|
"@veramo-community/lds-ecdsa-secp256k1-recovery2020": "uport-project/EcdsaSecp256k1RecoverySignature2020",
|
|
30
|
-
"@veramo/core-types": "^
|
|
31
|
-
"@veramo/utils": "^
|
|
29
|
+
"@veramo/core-types": "^6.0.0",
|
|
30
|
+
"@veramo/utils": "^6.0.0",
|
|
32
31
|
"cross-fetch": "^4.0.0",
|
|
33
32
|
"debug": "^4.3.3",
|
|
34
33
|
"did-resolver": "^4.1.0"
|
|
@@ -40,13 +39,12 @@
|
|
|
40
39
|
"devDependencies": {
|
|
41
40
|
"@types/debug": "4.1.8",
|
|
42
41
|
"borc": "3.0.0",
|
|
43
|
-
"typescript": "5.
|
|
42
|
+
"typescript": "5.3.3"
|
|
44
43
|
},
|
|
45
44
|
"files": [
|
|
46
45
|
"build/**/*",
|
|
47
46
|
"src/**/*",
|
|
48
47
|
"contexts/**/*.json",
|
|
49
|
-
"plugin.schema.json",
|
|
50
48
|
"README.md",
|
|
51
49
|
"LICENSE"
|
|
52
50
|
],
|
|
@@ -83,5 +81,5 @@
|
|
|
83
81
|
"node_modules",
|
|
84
82
|
"src"
|
|
85
83
|
],
|
|
86
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "9a0e6bd1ec2d49e152b18d086decbe49e6f41028"
|
|
87
85
|
}
|
package/src/action-handler.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
VerifiablePresentation,
|
|
11
11
|
} from '@veramo/core-types'
|
|
12
12
|
import { VeramoLdSignature } from './index.js'
|
|
13
|
-
import schema from './plugin.schema.
|
|
13
|
+
import { schema } from './plugin.schema.js'
|
|
14
14
|
import Debug from 'debug'
|
|
15
15
|
import { LdContextLoader } from './ld-context-loader.js'
|
|
16
16
|
import {
|
|
@@ -37,6 +37,7 @@ import {
|
|
|
37
37
|
IVerifyCredentialLDArgs,
|
|
38
38
|
IVerifyPresentationLDArgs,
|
|
39
39
|
} from './types.js'
|
|
40
|
+
import { DIDResolutionOptions } from 'did-resolver'
|
|
40
41
|
|
|
41
42
|
const debug = Debug('veramo:credential-ld:action-handler')
|
|
42
43
|
|
|
@@ -114,6 +115,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
114
115
|
context,
|
|
115
116
|
identifier,
|
|
116
117
|
args.keyRef,
|
|
118
|
+
args.resolutionOptions,
|
|
117
119
|
)
|
|
118
120
|
|
|
119
121
|
let { now } = args
|
|
@@ -169,6 +171,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
169
171
|
context,
|
|
170
172
|
identifier,
|
|
171
173
|
args.keyRef,
|
|
174
|
+
args.resolutionOptions,
|
|
172
175
|
)
|
|
173
176
|
|
|
174
177
|
let { now } = args
|
|
@@ -202,12 +205,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
202
205
|
now = new Date(now * 1000)
|
|
203
206
|
}
|
|
204
207
|
|
|
205
|
-
return this.ldCredentialModule.verifyCredential(
|
|
206
|
-
credential,
|
|
207
|
-
args.fetchRemoteContexts || false,
|
|
208
|
-
{ ...args, now },
|
|
209
|
-
context,
|
|
210
|
-
)
|
|
208
|
+
return this.ldCredentialModule.verifyCredential(credential, { ...args, now }, context)
|
|
211
209
|
}
|
|
212
210
|
|
|
213
211
|
/** {@inheritdoc ICredentialIssuerLD.verifyPresentationLD} */
|
|
@@ -224,7 +222,6 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
224
222
|
presentation,
|
|
225
223
|
args.challenge,
|
|
226
224
|
args.domain,
|
|
227
|
-
args.fetchRemoteContexts || false,
|
|
228
225
|
{ ...args, now },
|
|
229
226
|
context,
|
|
230
227
|
)
|
|
@@ -234,8 +231,14 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
234
231
|
context: IAgentContext<IResolver>,
|
|
235
232
|
identifier: IIdentifier,
|
|
236
233
|
keyRef?: string,
|
|
234
|
+
resolutionOptions?: DIDResolutionOptions,
|
|
237
235
|
): Promise<{ signingKey: _ExtendedIKey; verificationMethodId: string }> {
|
|
238
|
-
const extendedKeys: _ExtendedIKey[] = await mapIdentifierKeysToDoc(
|
|
236
|
+
const extendedKeys: _ExtendedIKey[] = await mapIdentifierKeysToDoc(
|
|
237
|
+
identifier,
|
|
238
|
+
'assertionMethod',
|
|
239
|
+
context,
|
|
240
|
+
resolutionOptions,
|
|
241
|
+
)
|
|
239
242
|
let supportedTypes = this.ldCredentialModule.ldSuiteLoader.getAllSignatureSuiteTypes()
|
|
240
243
|
let signingKey: _ExtendedIKey | undefined
|
|
241
244
|
let verificationMethodId: string
|
|
@@ -264,7 +267,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
|
|
|
264
267
|
|
|
265
268
|
/**
|
|
266
269
|
* Returns true if the key is supported by any of the installed LD Signature suites
|
|
267
|
-
* @param k - the key to
|
|
270
|
+
* @param k - the key to match
|
|
268
271
|
*
|
|
269
272
|
* @internal
|
|
270
273
|
*/
|
package/src/index.ts
CHANGED
|
@@ -17,4 +17,5 @@ export { VeramoLdSignature } from './ld-suites.js'
|
|
|
17
17
|
export * from './suites/EcdsaSecp256k1RecoverySignature2020.js'
|
|
18
18
|
export * from './suites/Ed25519Signature2018.js'
|
|
19
19
|
export * from './suites/Ed25519Signature2020.js'
|
|
20
|
-
export * from './suites/JsonWebSignature2020.js'
|
|
20
|
+
export * from './suites/JsonWebSignature2020.js'
|
|
21
|
+
export { schema } from './plugin.schema.js'
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
IKey,
|
|
5
5
|
IResolver,
|
|
6
6
|
PresentationPayload,
|
|
7
|
+
UsingResolutionOptions,
|
|
7
8
|
VerifiableCredential,
|
|
8
9
|
VerifiablePresentation,
|
|
9
10
|
} from '@veramo/core-types'
|
|
@@ -19,6 +20,11 @@ import { RequiredAgentMethods } from './ld-suites.js'
|
|
|
19
20
|
|
|
20
21
|
const debug = Debug('veramo:w3c:ld-credential-module')
|
|
21
22
|
|
|
23
|
+
type ForwardedOptions = UsingResolutionOptions & {
|
|
24
|
+
fetchRemoteContexts?: boolean // defaults to false
|
|
25
|
+
now?: number // defaults to Date.now()
|
|
26
|
+
}
|
|
27
|
+
|
|
22
28
|
export class LdCredentialModule {
|
|
23
29
|
/**
|
|
24
30
|
* TODO: General Implementation Notes
|
|
@@ -36,16 +42,14 @@ export class LdCredentialModule {
|
|
|
36
42
|
this.ldSuiteLoader = options.ldSuiteLoader
|
|
37
43
|
}
|
|
38
44
|
|
|
39
|
-
getDocumentLoader(
|
|
40
|
-
context: IAgentContext<IResolver>,
|
|
41
|
-
attemptToFetchContexts: boolean = false,
|
|
42
|
-
) {
|
|
45
|
+
getDocumentLoader(context: IAgentContext<IResolver>, options?: ForwardedOptions) {
|
|
43
46
|
return extendContextLoader(async (url: string) => {
|
|
44
|
-
|
|
47
|
+
const resolutionOptions = { accept: 'application/did+ld+json', ...options?.resolutionOptions }
|
|
48
|
+
const attemptToFetchContexts = options?.fetchRemoteContexts ?? false
|
|
45
49
|
|
|
46
50
|
// did resolution
|
|
47
51
|
if (url.toLowerCase().startsWith('did:')) {
|
|
48
|
-
const resolutionResult = await context.agent.resolveDid({ didUrl: url })
|
|
52
|
+
const resolutionResult = await context.agent.resolveDid({ didUrl: url, options: resolutionOptions })
|
|
49
53
|
const didDoc = resolutionResult.didDocument
|
|
50
54
|
|
|
51
55
|
if (!didDoc) return
|
|
@@ -55,8 +59,11 @@ export class LdCredentialModule {
|
|
|
55
59
|
// currently, Veramo LD suites can modify the resolution response for DIDs from
|
|
56
60
|
// the document Loader. This allows us to fix incompatibilities between DID Documents
|
|
57
61
|
// and LD suites to be fixed specifically within the Veramo LD Suites definition
|
|
62
|
+
// TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
|
|
63
|
+
// between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
|
|
64
|
+
// document loader, to allow each suite to massage the verification methods into formats it knows about.
|
|
58
65
|
for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
|
|
59
|
-
result = (await x.preDidResolutionModification(url, result, context)) || result
|
|
66
|
+
result = (await x.preDidResolutionModification(url, result, context)) || result
|
|
60
67
|
}
|
|
61
68
|
|
|
62
69
|
// console.log(`Returning from Documentloader: ${JSON.stringify(returnDocument)}`)
|
|
@@ -107,14 +114,15 @@ export class LdCredentialModule {
|
|
|
107
114
|
issuerDid: string,
|
|
108
115
|
key: IKey,
|
|
109
116
|
verificationMethodId: string,
|
|
110
|
-
options:
|
|
117
|
+
options: ForwardedOptions,
|
|
111
118
|
context: IAgentContext<RequiredAgentMethods>,
|
|
112
119
|
): Promise<VerifiableCredential> {
|
|
120
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
113
121
|
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
|
|
114
122
|
key.type,
|
|
115
123
|
key.meta?.verificationMethod?.type ?? '',
|
|
116
|
-
)
|
|
117
|
-
const documentLoader = this.getDocumentLoader(context, options
|
|
124
|
+
)[0]
|
|
125
|
+
const documentLoader = this.getDocumentLoader(context, options)
|
|
118
126
|
|
|
119
127
|
// some suites can modify the incoming credential (e.g. add required contexts)
|
|
120
128
|
suite.preSigningCredModification(credential)
|
|
@@ -135,14 +143,15 @@ export class LdCredentialModule {
|
|
|
135
143
|
verificationMethodId: string,
|
|
136
144
|
challenge: string | undefined,
|
|
137
145
|
domain: string | undefined,
|
|
138
|
-
options:
|
|
146
|
+
options: ForwardedOptions,
|
|
139
147
|
context: IAgentContext<RequiredAgentMethods>,
|
|
140
148
|
): Promise<VerifiablePresentation> {
|
|
149
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
141
150
|
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
|
|
142
151
|
key.type,
|
|
143
152
|
key.meta?.verificationMethod?.type ?? '',
|
|
144
|
-
)
|
|
145
|
-
const documentLoader = this.getDocumentLoader(context, options
|
|
153
|
+
)[0]
|
|
154
|
+
const documentLoader = this.getDocumentLoader(context, options)
|
|
146
155
|
|
|
147
156
|
suite.preSigningPresModification(presentation)
|
|
148
157
|
|
|
@@ -159,15 +168,15 @@ export class LdCredentialModule {
|
|
|
159
168
|
|
|
160
169
|
async verifyCredential(
|
|
161
170
|
credential: VerifiableCredential,
|
|
162
|
-
|
|
163
|
-
options: any,
|
|
171
|
+
options: ForwardedOptions,
|
|
164
172
|
context: IAgentContext<IResolver>,
|
|
165
173
|
): Promise<boolean> {
|
|
174
|
+
const fetchRemoteContexts = options.fetchRemoteContexts ?? false
|
|
166
175
|
const result = await vc.verifyCredential({
|
|
167
176
|
...options,
|
|
168
177
|
credential,
|
|
169
178
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
170
|
-
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
179
|
+
documentLoader: this.getDocumentLoader(context, { ...options, fetchRemoteContexts }),
|
|
171
180
|
compactProof: false,
|
|
172
181
|
checkStatus: async () => Promise.resolve({ verified: true }), // Fake method
|
|
173
182
|
})
|
|
@@ -184,15 +193,15 @@ export class LdCredentialModule {
|
|
|
184
193
|
presentation: VerifiablePresentation,
|
|
185
194
|
challenge: string | undefined,
|
|
186
195
|
domain: string | undefined,
|
|
187
|
-
|
|
188
|
-
options: any,
|
|
196
|
+
options: ForwardedOptions,
|
|
189
197
|
context: IAgentContext<IResolver>,
|
|
190
198
|
): Promise<boolean> {
|
|
199
|
+
const fetchRemoteContexts = options.fetchRemoteContexts ?? false
|
|
191
200
|
const result = await vc.verify({
|
|
192
201
|
...options,
|
|
193
202
|
presentation,
|
|
194
203
|
suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
|
|
195
|
-
documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
|
|
204
|
+
documentLoader: this.getDocumentLoader(context, { ...options, fetchRemoteContexts }),
|
|
196
205
|
challenge,
|
|
197
206
|
domain,
|
|
198
207
|
compactProof: false,
|
package/src/ld-suite-loader.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { VeramoLdSignature } from './ld-suites.js'
|
|
2
2
|
import { TKeyType } from '@veramo/core-types'
|
|
3
|
+
import { asArray } from '@veramo/utils'
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Initializes a list of Veramo-wrapped LD Signature suites and exposes those to the Agent Module
|
|
6
7
|
*/
|
|
7
8
|
export class LdSuiteLoader {
|
|
8
9
|
constructor(options: { veramoLdSignatures: VeramoLdSignature[] }) {
|
|
9
|
-
options.veramoLdSignatures.forEach((
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], [verificationType]: obj })
|
|
10
|
+
options.veramoLdSignatures.forEach((ldSuite) => {
|
|
11
|
+
const keyType = ldSuite.getSupportedVeramoKeyType()
|
|
12
|
+
let verifierMapping = this.signatureMap[keyType] ?? {}
|
|
13
|
+
asArray(ldSuite.getSupportedVerificationType()).forEach((verificationType) => {
|
|
14
|
+
verifierMapping[verificationType] = [...(verifierMapping[verificationType] ?? []), ldSuite]
|
|
15
|
+
})
|
|
16
|
+
return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], ...verifierMapping })
|
|
17
17
|
})
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
private signatureMap: Record<string, Record<string, VeramoLdSignature>> = {}
|
|
20
|
+
private signatureMap: Record<string, Record<string, VeramoLdSignature[]>> = {}
|
|
21
21
|
|
|
22
22
|
getSignatureSuiteForKeyType(type: TKeyType, verificationType: string) {
|
|
23
23
|
const suite = this.signatureMap[type]?.[verificationType]
|
|
@@ -29,7 +29,7 @@ export class LdSuiteLoader {
|
|
|
29
29
|
getAllSignatureSuites(): VeramoLdSignature[] {
|
|
30
30
|
return Object.values(this.signatureMap)
|
|
31
31
|
.map((x) => Object.values(x))
|
|
32
|
-
.flat()
|
|
32
|
+
.flat(2)
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
getAllSignatureSuiteTypes() {
|
package/src/ld-suites.ts
CHANGED
|
@@ -23,7 +23,7 @@ export abstract class VeramoLdSignature {
|
|
|
23
23
|
// Add type definition as soon as https://github.com/digitalbazaar/jsonld-signatures
|
|
24
24
|
// supports those.
|
|
25
25
|
|
|
26
|
-
abstract getSupportedVerificationType(): string
|
|
26
|
+
abstract getSupportedVerificationType(): string | string[]
|
|
27
27
|
|
|
28
28
|
abstract getSupportedVeramoKeyType(): TKeyType
|
|
29
29
|
|