@veramo/credential-ld 5.6.1-next.42 → 5.6.1-next.44
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/ld-credential-module.d.ts.map +1 -1
- package/build/ld-credential-module.js +7 -2
- package/build/ld-credential-module.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/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/package.json +4 -4
- package/src/ld-credential-module.ts +9 -7
- package/src/ld-suite-loader.ts +10 -10
- package/src/ld-suites.ts +1 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IAEH,OAAO,CAAC,eAAe,CAAiB;IACxC,aAAa,EAAE,aAAa,CAAA;gBAEhB,OAAO,EAAE;QAAE,eAAe,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAKvF,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IAEH,OAAO,CAAC,eAAe,CAAiB;IACxC,aAAa,EAAE,aAAa,CAAA;gBAEhB,OAAO,EAAE;QAAE,eAAe,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAKvF,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAE,OAAe;IAkEtF,2BAA2B,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAoB1B,4BAA4B,CAChC,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAqB5B,gBAAgB,CACpB,UAAU,EAAE,oBAAoB,EAChC,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IAkBb,kBAAkB,CACtB,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAiBpB"}
|
|
@@ -31,6 +31,9 @@ export class LdCredentialModule {
|
|
|
31
31
|
// currently, Veramo LD suites can modify the resolution response for DIDs from
|
|
32
32
|
// the document Loader. This allows us to fix incompatibilities between DID Documents
|
|
33
33
|
// and LD suites to be fixed specifically within the Veramo LD Suites definition
|
|
34
|
+
// TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
|
|
35
|
+
// between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
|
|
36
|
+
// document loader, to allow each suite to massage the verification methods into formats it knows about.
|
|
34
37
|
for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
|
|
35
38
|
result = (await x.preDidResolutionModification(url, result, context)) || result;
|
|
36
39
|
}
|
|
@@ -74,7 +77,8 @@ export class LdCredentialModule {
|
|
|
74
77
|
});
|
|
75
78
|
}
|
|
76
79
|
async issueLDVerifiableCredential(credential, issuerDid, key, verificationMethodId, options, context) {
|
|
77
|
-
|
|
80
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
81
|
+
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '')[0];
|
|
78
82
|
const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts);
|
|
79
83
|
// some suites can modify the incoming credential (e.g. add required contexts)
|
|
80
84
|
suite.preSigningCredModification(credential);
|
|
@@ -87,7 +91,8 @@ export class LdCredentialModule {
|
|
|
87
91
|
});
|
|
88
92
|
}
|
|
89
93
|
async signLDVerifiablePresentation(presentation, holderDid, key, verificationMethodId, challenge, domain, options, context) {
|
|
90
|
-
|
|
94
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
95
|
+
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '')[0];
|
|
91
96
|
const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts);
|
|
92
97
|
suite.preSigningPresModification(presentation);
|
|
93
98
|
return await vc.signPresentation({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,gBAAgB,MAAM,uCAAuC,CAAA;AAEpE,MAAM,EAAE,mBAAmB,EAAE,GAAG,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAK5C,MAAM,KAAK,GAAG,KAAK,CAAC,iCAAiC,CAAC,CAAA;AAEtD,MAAM,OAAO,kBAAkB;IAC7B;;;;;;OAMG;IAEK,eAAe,CAAiB;IACxC,aAAa,CAAe;IAE5B,YAAY,OAA2E;QACrF,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAA;QAC9C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC5C,CAAC;IAED,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export declare class LdSuiteLoader {
|
|
|
8
8
|
veramoLdSignatures: VeramoLdSignature[];
|
|
9
9
|
});
|
|
10
10
|
private signatureMap;
|
|
11
|
-
getSignatureSuiteForKeyType(type: TKeyType, verificationType: string): VeramoLdSignature;
|
|
11
|
+
getSignatureSuiteForKeyType(type: TKeyType, verificationType: string): VeramoLdSignature[];
|
|
12
12
|
getAllSignatureSuites(): VeramoLdSignature[];
|
|
13
13
|
getAllSignatureSuiteTypes(): string[];
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-suite-loader.d.ts","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"ld-suite-loader.d.ts","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C;;GAEG;AACH,qBAAa,aAAa;gBACZ,OAAO,EAAE;QAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;KAAE;IAWhE,OAAO,CAAC,YAAY,CAA0D;IAE9E,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM;IAOpE,qBAAqB,IAAI,iBAAiB,EAAE;IAM5C,yBAAyB;CAK1B"}
|
package/build/ld-suite-loader.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
import { asArray } from '@veramo/utils';
|
|
1
2
|
/**
|
|
2
3
|
* Initializes a list of Veramo-wrapped LD Signature suites and exposes those to the Agent Module
|
|
3
4
|
*/
|
|
4
5
|
export class LdSuiteLoader {
|
|
5
6
|
constructor(options) {
|
|
6
|
-
options.veramoLdSignatures.forEach((
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], [verificationType]: obj });
|
|
7
|
+
options.veramoLdSignatures.forEach((ldSuite) => {
|
|
8
|
+
const keyType = ldSuite.getSupportedVeramoKeyType();
|
|
9
|
+
let verifierMapping = this.signatureMap[keyType] ?? {};
|
|
10
|
+
asArray(ldSuite.getSupportedVerificationType()).forEach((verificationType) => {
|
|
11
|
+
verifierMapping[verificationType] = [...(verifierMapping[verificationType] ?? []), ldSuite];
|
|
12
|
+
});
|
|
13
|
+
return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], ...verifierMapping });
|
|
14
14
|
});
|
|
15
15
|
}
|
|
16
16
|
signatureMap = {};
|
|
@@ -23,7 +23,7 @@ export class LdSuiteLoader {
|
|
|
23
23
|
getAllSignatureSuites() {
|
|
24
24
|
return Object.values(this.signatureMap)
|
|
25
25
|
.map((x) => Object.values(x))
|
|
26
|
-
.flat();
|
|
26
|
+
.flat(2);
|
|
27
27
|
}
|
|
28
28
|
getAllSignatureSuiteTypes() {
|
|
29
29
|
return Object.values(this.signatureMap)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-suite-loader.js","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ld-suite-loader.js","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,YAAY,OAAoD;QAC9D,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAA;YACnD,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YACtD,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBAC3E,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YAC7F,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;QAC7F,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,GAAwD,EAAE,CAAA;IAE9E,2BAA2B,CAAC,IAAc,EAAE,gBAAwB;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QAEvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,qBAAqB;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,CAAA;IACZ,CAAC;IAED,yBAAyB;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1B,IAAI,EAAE,CAAA;IACX,CAAC;CACF"}
|
package/build/ld-suites.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export type RequiredAgentMethods = IResolver & Pick<IKeyManager, 'keyManagerGet'
|
|
|
7
7
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
8
8
|
*/
|
|
9
9
|
export declare abstract class VeramoLdSignature {
|
|
10
|
-
abstract getSupportedVerificationType(): string;
|
|
10
|
+
abstract getSupportedVerificationType(): string | string[];
|
|
11
11
|
abstract getSupportedVeramoKeyType(): TKeyType;
|
|
12
12
|
abstract getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): any;
|
|
13
13
|
abstract getSuiteForVerification(): any;
|
package/build/ld-suites.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ld-suites.d.ts","sourceRoot":"","sources":["../src/ld-suites.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAEpG;;;;GAIG;AACH,8BAAsB,iBAAiB;IAMrC,QAAQ,CAAC,4BAA4B,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"ld-suites.d.ts","sourceRoot":"","sources":["../src/ld-suites.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAEpG;;;;GAIG;AACH,8BAAsB,iBAAiB;IAMrC,QAAQ,CAAC,4BAA4B,IAAI,MAAM,GAAG,MAAM,EAAE;IAE1D,QAAQ,CAAC,yBAAyB,IAAI,QAAQ;IAE9C,QAAQ,CAAC,kBAAkB,CACzB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAEN,QAAQ,CAAC,uBAAuB,IAAI,GAAG;IAEvC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;IAEvK,QAAQ,CAAC,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAExE,0BAA0B,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;CAQpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"AAAA,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;AAMlG;;;;GAIG;AACH,qBAAa,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"AAAA,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;AAMlG;;;;GAIG;AACH,qBAAa,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B,IAAI,MAAM;IAMtC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAyCN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAEzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC7F,UAAU,IAAI,MAAM;CAGrB"}
|
|
@@ -10,6 +10,8 @@ const { EcdsaSecp256k1RecoveryMethod2020, EcdsaSecp256k1RecoverySignature2020 }
|
|
|
10
10
|
export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature {
|
|
11
11
|
getSupportedVerificationType() {
|
|
12
12
|
return 'EcdsaSecp256k1RecoveryMethod2020';
|
|
13
|
+
// TODO: add support for ['EcdsaSecp256k1VerificationKey2020', 'EcdsaSecp256k1VerificationKey2019',
|
|
14
|
+
// 'JsonWebKey2020', 'Multikey']
|
|
13
15
|
}
|
|
14
16
|
getSupportedVeramoKeyType() {
|
|
15
17
|
return 'Secp256k1';
|
|
@@ -41,7 +43,7 @@ export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature
|
|
|
41
43
|
key: new EcdsaSecp256k1RecoveryMethod2020({
|
|
42
44
|
publicKeyHex: key.publicKeyHex,
|
|
43
45
|
signer: () => signer,
|
|
44
|
-
type:
|
|
46
|
+
type: 'EcdsaSecp256k1RecoveryMethod2020',
|
|
45
47
|
controller,
|
|
46
48
|
id: verifiableMethodId,
|
|
47
49
|
}),
|
|
@@ -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":"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;QACzC,mGAAmG;QACnG,gCAAgC;IAClC,CAAC;IAED,yBAAyB;QACvB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,kBAAkB,CAChB,GAAS,EACT,GAAW,EACX,kBAA0B,EAC1B,OAA4C;QAE5C,MAAM,UAAU,GAAG,GAAG,CAAA;QACtB,MAAM,MAAM,GAAG;YACb,wBAAwB;YACxB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,UAAU;oBACf,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,UAAU;oBACrB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,KAAK,GAAG,IAAI,mCAAmC,CAAC;YACpD,UAAU;YACV,GAAG,EAAE,IAAI,gCAAgC,CAAC;gBACxC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;gBACpB,IAAI,EAAE,kCAAkC;gBACxC,UAAU;gBACV,EAAE,EAAE,kBAAkB;aACvB,CAAC;SACH,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACvF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACpF,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,mCAAmC,EAAE,CAAA;IAClD,CAAC;IAED,0BAA0B,CAAC,UAA6B,IAAS,CAAC;IAElE,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACvC,MAAM,aAAa,GACjB,6GAA6G,CAAA;QAC/G,MAAM,eAAe,GAAG,uCAAuC,CAAA;QAE/D,6DAA6D;QAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;SAC7B;QAED,+GAA+G;QAC/G,gHAAgH;QAChH,mBAAmB;QACnB,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5C;QACD,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;QAExB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC/C,oFAAoF;YACpF,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,CAAC,mBAAmB,EAAE;oBACzB,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;wBACxD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBAChE,CAAC,CAAC,mBAAmB,GAAG,UAAU,KAAK,IAAI,OAAO,EAAE,CAAA;qBACrD;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,UAAU;QACR,OAAO,4DAA4D,CAAA;IACrE,CAAC;CACF"}
|
|
@@ -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/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veramo/credential-ld",
|
|
3
3
|
"description": "Veramo plugin for working with W3C JSON-LD Verifiable Credentials & Presentations.",
|
|
4
|
-
"version": "5.6.1-next.
|
|
4
|
+
"version": "5.6.1-next.44+8e3b94cf9",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./build/index.js"
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"@transmute/ed25519-signature-2018": "^0.7.0-unstable.81",
|
|
27
27
|
"@transmute/json-web-signature": "^0.7.0-unstable.81",
|
|
28
28
|
"@veramo-community/lds-ecdsa-secp256k1-recovery2020": "uport-project/EcdsaSecp256k1RecoverySignature2020",
|
|
29
|
-
"@veramo/core-types": "^5.6.1-next.
|
|
30
|
-
"@veramo/utils": "^5.6.1-next.
|
|
29
|
+
"@veramo/core-types": "^5.6.1-next.44+8e3b94cf9",
|
|
30
|
+
"@veramo/utils": "^5.6.1-next.44+8e3b94cf9",
|
|
31
31
|
"cross-fetch": "^4.0.0",
|
|
32
32
|
"debug": "^4.3.3",
|
|
33
33
|
"did-resolver": "^4.1.0"
|
|
@@ -81,5 +81,5 @@
|
|
|
81
81
|
"node_modules",
|
|
82
82
|
"src"
|
|
83
83
|
],
|
|
84
|
-
"gitHead": "
|
|
84
|
+
"gitHead": "8e3b94cf997619d7adcb5cb8827e0f55ff88cdb5"
|
|
85
85
|
}
|
|
@@ -36,10 +36,7 @@ export class LdCredentialModule {
|
|
|
36
36
|
this.ldSuiteLoader = options.ldSuiteLoader
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
getDocumentLoader(
|
|
40
|
-
context: IAgentContext<IResolver>,
|
|
41
|
-
attemptToFetchContexts: boolean = false,
|
|
42
|
-
) {
|
|
39
|
+
getDocumentLoader(context: IAgentContext<IResolver>, attemptToFetchContexts: boolean = false) {
|
|
43
40
|
return extendContextLoader(async (url: string) => {
|
|
44
41
|
// console.log(`resolving context for: ${url}`)
|
|
45
42
|
|
|
@@ -55,8 +52,11 @@ export class LdCredentialModule {
|
|
|
55
52
|
// currently, Veramo LD suites can modify the resolution response for DIDs from
|
|
56
53
|
// the document Loader. This allows us to fix incompatibilities between DID Documents
|
|
57
54
|
// and LD suites to be fixed specifically within the Veramo LD Suites definition
|
|
55
|
+
// TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
|
|
56
|
+
// between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
|
|
57
|
+
// document loader, to allow each suite to massage the verification methods into formats it knows about.
|
|
58
58
|
for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
|
|
59
|
-
result = (await x.preDidResolutionModification(url, result, context)) || result
|
|
59
|
+
result = (await x.preDidResolutionModification(url, result, context)) || result
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
// console.log(`Returning from Documentloader: ${JSON.stringify(returnDocument)}`)
|
|
@@ -110,10 +110,11 @@ export class LdCredentialModule {
|
|
|
110
110
|
options: any,
|
|
111
111
|
context: IAgentContext<RequiredAgentMethods>,
|
|
112
112
|
): Promise<VerifiableCredential> {
|
|
113
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
113
114
|
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
|
|
114
115
|
key.type,
|
|
115
116
|
key.meta?.verificationMethod?.type ?? '',
|
|
116
|
-
)
|
|
117
|
+
)[0]
|
|
117
118
|
const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
|
|
118
119
|
|
|
119
120
|
// some suites can modify the incoming credential (e.g. add required contexts)
|
|
@@ -138,10 +139,11 @@ export class LdCredentialModule {
|
|
|
138
139
|
options: any,
|
|
139
140
|
context: IAgentContext<RequiredAgentMethods>,
|
|
140
141
|
): Promise<VerifiablePresentation> {
|
|
142
|
+
// TODO: try multiple matching suites until one works or list is exhausted
|
|
141
143
|
const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
|
|
142
144
|
key.type,
|
|
143
145
|
key.meta?.verificationMethod?.type ?? '',
|
|
144
|
-
)
|
|
146
|
+
)[0]
|
|
145
147
|
const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
|
|
146
148
|
|
|
147
149
|
suite.preSigningPresModification(presentation)
|
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
|
|
|
@@ -13,6 +13,8 @@ const { EcdsaSecp256k1RecoveryMethod2020, EcdsaSecp256k1RecoverySignature2020 }
|
|
|
13
13
|
export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature {
|
|
14
14
|
getSupportedVerificationType(): string {
|
|
15
15
|
return 'EcdsaSecp256k1RecoveryMethod2020'
|
|
16
|
+
// TODO: add support for ['EcdsaSecp256k1VerificationKey2020', 'EcdsaSecp256k1VerificationKey2019',
|
|
17
|
+
// 'JsonWebKey2020', 'Multikey']
|
|
16
18
|
}
|
|
17
19
|
|
|
18
20
|
getSupportedVeramoKeyType(): TKeyType {
|
|
@@ -52,7 +54,7 @@ export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature
|
|
|
52
54
|
key: new EcdsaSecp256k1RecoveryMethod2020({
|
|
53
55
|
publicKeyHex: key.publicKeyHex,
|
|
54
56
|
signer: () => signer,
|
|
55
|
-
type:
|
|
57
|
+
type: 'EcdsaSecp256k1RecoveryMethod2020',
|
|
56
58
|
controller,
|
|
57
59
|
id: verifiableMethodId,
|
|
58
60
|
}),
|
|
@@ -9,8 +9,9 @@ import { Ed25519Signature2018, Ed25519VerificationKey2018 } from '@transmute/ed2
|
|
|
9
9
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
10
10
|
*/
|
|
11
11
|
export class VeramoEd25519Signature2018 extends VeramoLdSignature {
|
|
12
|
-
getSupportedVerificationType(): string {
|
|
13
|
-
return 'Ed25519VerificationKey2018'
|
|
12
|
+
getSupportedVerificationType(): string[] {
|
|
13
|
+
return ['Ed25519VerificationKey2018', 'JsonWebKey2020']
|
|
14
|
+
// TODO: add support for ['Ed25519VerificationKey2020', 'Multikey']
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
getSupportedVeramoKeyType(): TKeyType {
|
|
@@ -54,7 +55,7 @@ export class VeramoEd25519Signature2018 extends VeramoLdSignature {
|
|
|
54
55
|
controller,
|
|
55
56
|
publicKey: hexToBytes(key.publicKeyHex),
|
|
56
57
|
signer: () => signer,
|
|
57
|
-
type:
|
|
58
|
+
type: 'Ed25519VerificationKey2018',
|
|
58
59
|
})
|
|
59
60
|
// overwrite the signer since we're not passing the private key and transmute doesn't support that behavior
|
|
60
61
|
verificationKey.signer = () => signer as any
|
|
@@ -30,8 +30,9 @@ const debug = Debug('veramo:credential-ld:Ed25519Signature2020')
|
|
|
30
30
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
31
31
|
*/
|
|
32
32
|
export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
33
|
-
getSupportedVerificationType(): string {
|
|
34
|
-
return 'Ed25519VerificationKey2020'
|
|
33
|
+
getSupportedVerificationType(): string[] {
|
|
34
|
+
return ['Ed25519VerificationKey2020', 'Ed25519VerificationKey2018']
|
|
35
|
+
// TODO: add support for ['JsonWebKey2020', 'Multikey']
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
getSupportedVeramoKeyType(): TKeyType {
|
|
@@ -72,7 +73,7 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
|
72
73
|
})
|
|
73
74
|
// overwrite the signer since we're not passing the private key
|
|
74
75
|
verificationKey.signer = () => signer as any
|
|
75
|
-
verificationKey.type =
|
|
76
|
+
verificationKey.type = 'Ed25519VerificationKey2020'
|
|
76
77
|
return new Ed25519Signature2020({
|
|
77
78
|
key: verificationKey,
|
|
78
79
|
signer: signer,
|
|
@@ -17,8 +17,9 @@ import {
|
|
|
17
17
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
18
18
|
*/
|
|
19
19
|
export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
20
|
-
getSupportedVerificationType():
|
|
20
|
+
getSupportedVerificationType(): string {
|
|
21
21
|
return 'JsonWebKey2020'
|
|
22
|
+
// TODO: add support for ['Ed25519VerificationKey2018', 'Ed25519VerificationKey2020', 'Multikey'] and others
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
getSupportedVeramoKeyType(): TKeyType {
|
|
@@ -59,7 +60,7 @@ export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
|
59
60
|
|
|
60
61
|
const verificationKey = await JsonWebKey.from({
|
|
61
62
|
id: id,
|
|
62
|
-
type:
|
|
63
|
+
type: 'JsonWebKey2020',
|
|
63
64
|
controller: controller,
|
|
64
65
|
publicKeyJwk: {
|
|
65
66
|
kty: 'OKP',
|