@veramo/credential-ld 5.1.5-next.11 → 5.1.5-next.13
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/contexts/schema.org.json +8612 -0
- package/build/contexts/w3id.org_security_bbs_v1.json +128 -0
- package/build/contexts/w3id.org_security_suites_ed25519-2018_v1.json +89 -56
- package/build/contexts/{ed25519-signature-2018-v1.json → w3id.org_security_suites_ed25519-2020-v1.json} +10 -8
- package/build/contexts/{json-web-signature-2020-v1.json → w3id.org_security_suites_jws-2020_v1.json} +15 -8
- package/build/contexts/w3id.org_security_suites_x25519-2020_v1.json +27 -0
- package/build/contexts/w3id.org_security_v1.json +36 -9
- package/build/contexts/w3id.org_security_v2.json +90 -22
- package/build/contexts/w3id.org_security_v3-unstable.json +4 -2
- package/build/contexts/www.w3.org_2018_credentials_examples_v1.json +69 -0
- package/build/contexts/www.w3.org_2018_credentials_v1.json +156 -36
- package/build/ld-credential-module.d.ts.map +1 -1
- package/build/ld-credential-module.js +5 -2
- package/build/ld-credential-module.js.map +1 -1
- package/build/ld-default-contexts.d.ts.map +1 -1
- package/build/ld-default-contexts.js +18 -9
- package/build/ld-default-contexts.js.map +1 -1
- package/build/ld-suites.d.ts +2 -2
- package/build/ld-suites.d.ts.map +1 -1
- package/build/ld-suites.js.map +1 -1
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts +1 -1
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts.map +1 -1
- package/build/suites/EcdsaSecp256k1RecoverySignature2020.js +3 -2
- 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 +2 -1
- package/build/suites/Ed25519Signature2018.js.map +1 -1
- package/build/suites/Ed25519Signature2020.d.ts +3 -5
- package/build/suites/Ed25519Signature2020.d.ts.map +1 -1
- package/build/suites/Ed25519Signature2020.js +50 -9
- 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/__tests__/issue-verify-ed25519-2020.test.ts +143 -0
- package/src/contexts/schema.org.json +8612 -0
- package/src/contexts/veramo.io_contexts_profile_v1.json +4 -4
- package/src/contexts/w3id.org_security_bbs_v1.json +128 -0
- package/src/contexts/w3id.org_security_suites_ed25519-2018_v1.json +89 -57
- package/src/contexts/{ed25519-signature-2018-v1.json → w3id.org_security_suites_ed25519-2020-v1.json} +10 -8
- package/src/contexts/w3id.org_security_suites_jws-2020_v1.json +78 -0
- package/src/contexts/w3id.org_security_suites_x25519-2020_v1.json +27 -0
- package/src/contexts/w3id.org_security_v1.json +36 -12
- package/src/contexts/w3id.org_security_v2.json +124 -57
- package/src/contexts/w3id.org_security_v3-unstable.json +684 -692
- package/src/contexts/www.w3.org_2018_credentials_examples_v1.json +69 -0
- package/src/contexts/www.w3.org_2018_credentials_v1.json +157 -79
- package/src/contexts/www.w3.org_ns_did_v1.json +0 -1
- package/src/ld-credential-module.ts +19 -5
- package/src/ld-default-contexts.ts +19 -10
- package/src/ld-suites.ts +2 -1
- package/src/suites/EcdsaSecp256k1RecoverySignature2020.ts +4 -5
- package/src/suites/Ed25519Signature2018.ts +2 -1
- package/src/suites/Ed25519Signature2020.ts +72 -11
- package/src/suites/JsonWebSignature2020.ts +2 -1
- package/build/contexts/did_v0.11.json +0 -61
- package/build/contexts/ed25519-signature-2020-v1.json +0 -77
- package/build/contexts/kyc-v1.json +0 -8
- package/build/contexts/socialmedia-v1.json +0 -7
- package/build/contexts/transmute_v1.json +0 -20
- package/src/contexts/did_v0.11.json +0 -64
- package/src/contexts/ed25519-signature-2020-v1.json +0 -77
- package/src/contexts/json-web-signature-2020-v1.json +0 -71
- package/src/contexts/kyc-v1.json +0 -8
- package/src/contexts/socialmedia-v1.json +0 -7
- package/src/contexts/transmute_v1.json +0 -21
- /package/build/contexts/{eip712.json → w3id.org_security_suites_eip712sig-2021_v1.json} +0 -0
- /package/src/contexts/{eip712.json → w3id.org_security_suites_eip712sig-2021_v1.json} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,4BAA4B,CAAA;IACrC,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,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1F,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAC3D,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,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;YACrD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;SAC1C,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,4BAA4B,CAAC,MAAc,EAAE,MAAmB;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAClC,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,4BAA4B,CAAA;IACrC,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,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1F,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAC3D,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,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;YACrD,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;SAC1C,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"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
import { RequiredAgentMethods, VeramoLdSignature } from '../ld-suites.js';
|
|
2
|
-
import { CredentialPayload, DIDDocument, IAgentContext, IKey, TKeyType } from '@veramo/core-types';
|
|
2
|
+
import { CredentialPayload, DIDDocComponent, DIDDocument, IAgentContext, IKey, IResolver, TKeyType } from '@veramo/core-types';
|
|
3
3
|
/**
|
|
4
4
|
* Veramo wrapper for the Ed25519Signature2020 suite by digitalcredentials
|
|
5
5
|
*
|
|
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
|
-
private readonly MULTIBASE_BASE58BTC_PREFIX;
|
|
10
|
-
private readonly MULTICODEC_PREFIX;
|
|
11
9
|
getSupportedVerificationType(): string;
|
|
12
10
|
getSupportedVeramoKeyType(): TKeyType;
|
|
13
11
|
getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
|
|
14
12
|
getSuiteForVerification(): any;
|
|
15
13
|
preSigningCredModification(credential: CredentialPayload): void;
|
|
16
|
-
preDidResolutionModification(didUrl: string,
|
|
17
|
-
|
|
14
|
+
preDidResolutionModification(didUrl: string, doc: DIDDocument | Exclude<string, DIDDocComponent>, context: IAgentContext<IResolver>): Promise<DIDDocument | Exclude<string, DIDDocComponent>>;
|
|
15
|
+
private transformVerificationMethod;
|
|
18
16
|
}
|
|
19
17
|
//# sourceMappingURL=Ed25519Signature2020.d.ts.map
|
|
@@ -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,
|
|
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;AAW3B;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;IAItC,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"}
|
|
@@ -2,14 +2,15 @@ import { VeramoLdSignature } from '../ld-suites.js';
|
|
|
2
2
|
import * as u8a from 'uint8arrays';
|
|
3
3
|
import { Ed25519Signature2020 } from '@digitalcredentials/ed25519-signature-2020';
|
|
4
4
|
import { Ed25519VerificationKey2020 } from '@digitalcredentials/ed25519-verification-key-2020';
|
|
5
|
+
import { asArray, base64ToBytes, bytesToMultibase, extractPublicKeyHex, hexToBytes } from '@veramo/utils';
|
|
6
|
+
import Debug from 'debug';
|
|
7
|
+
const debug = Debug('veramo:credential-ld:Ed25519Signature2020');
|
|
5
8
|
/**
|
|
6
9
|
* Veramo wrapper for the Ed25519Signature2020 suite by digitalcredentials
|
|
7
10
|
*
|
|
8
11
|
* @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
|
|
9
12
|
*/
|
|
10
13
|
export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
11
|
-
MULTIBASE_BASE58BTC_PREFIX = 'z';
|
|
12
|
-
MULTICODEC_PREFIX = [0xed, 0x01];
|
|
13
14
|
getSupportedVerificationType() {
|
|
14
15
|
return 'Ed25519VerificationKey2020';
|
|
15
16
|
}
|
|
@@ -28,14 +29,15 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
|
28
29
|
keyRef: key.kid,
|
|
29
30
|
data: messageString,
|
|
30
31
|
encoding: 'base64',
|
|
32
|
+
algorithm: 'EdDSA',
|
|
31
33
|
});
|
|
32
|
-
return
|
|
34
|
+
return base64ToBytes(signature);
|
|
33
35
|
},
|
|
34
36
|
};
|
|
35
37
|
const verificationKey = new Ed25519VerificationKey2020({
|
|
36
38
|
id,
|
|
37
39
|
controller,
|
|
38
|
-
publicKeyMultibase:
|
|
40
|
+
publicKeyMultibase: bytesToMultibase(hexToBytes(key.publicKeyHex), 'Ed25519'),
|
|
39
41
|
// signer: () => signer,
|
|
40
42
|
// type: this.getSupportedVerificationType(),
|
|
41
43
|
});
|
|
@@ -53,12 +55,51 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
|
|
|
53
55
|
preSigningCredModification(credential) {
|
|
54
56
|
// nothing to do here
|
|
55
57
|
}
|
|
56
|
-
preDidResolutionModification(didUrl,
|
|
57
|
-
|
|
58
|
+
async preDidResolutionModification(didUrl, doc, context) {
|
|
59
|
+
let document = doc;
|
|
60
|
+
// The verification method (key) must contain "https://w3id.org/security/suites/ed25519-2020/v1" context.
|
|
61
|
+
if (document.verificationMethod) {
|
|
62
|
+
document.verificationMethod = asArray(document.verificationMethod)?.map(this.transformVerificationMethod);
|
|
63
|
+
}
|
|
64
|
+
// this signature suite requires the document loader to dereference the DID URL
|
|
65
|
+
if (didUrl.includes('#') && didUrl !== document.id) {
|
|
66
|
+
const contexts = document['@context'];
|
|
67
|
+
try {
|
|
68
|
+
let newDoc = (await context.agent.getDIDComponentById({
|
|
69
|
+
didDocument: document,
|
|
70
|
+
didUrl: didUrl,
|
|
71
|
+
}));
|
|
72
|
+
// other signature suites require the full DID document, so as a workaround
|
|
73
|
+
// we'll only return the 2020 verification method, even if the 2018 would also be compatible
|
|
74
|
+
if ([
|
|
75
|
+
'Ed25519VerificationKey2020',
|
|
76
|
+
// 'Ed25519VerificationKey2018',
|
|
77
|
+
// 'JsonWebKey2020'
|
|
78
|
+
].includes(newDoc.type)) {
|
|
79
|
+
newDoc['@context'] = [...new Set([...asArray(contexts), ...asArray(document['@context'])])];
|
|
80
|
+
document = newDoc;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (e) {
|
|
84
|
+
debug(`document loader could not locate DID component by fragment: ${didUrl}`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (document.type === 'Ed25519VerificationKey2020') {
|
|
88
|
+
document = this.transformVerificationMethod(document);
|
|
89
|
+
}
|
|
90
|
+
return document;
|
|
58
91
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
92
|
+
transformVerificationMethod(vm) {
|
|
93
|
+
if (vm.type === 'Ed25519VerificationKey2020') {
|
|
94
|
+
;
|
|
95
|
+
vm['@context'] = 'https://w3id.org/security/suites/ed25519-2020/v1';
|
|
96
|
+
// publicKeyMultibase is required by this suite
|
|
97
|
+
if (!vm.publicKeyMultibase) {
|
|
98
|
+
const publicKeyHex = extractPublicKeyHex(vm);
|
|
99
|
+
vm.publicKeyMultibase = bytesToMultibase(hexToBytes(publicKeyHex), 'Ed25519');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return vm;
|
|
62
103
|
}
|
|
63
104
|
}
|
|
64
105
|
//# sourceMappingURL=Ed25519Signature2020.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,6 @@ export declare class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
|
11
11
|
getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
|
|
12
12
|
getSuiteForVerification(): any;
|
|
13
13
|
preSigningCredModification(credential: CredentialPayload): void;
|
|
14
|
-
preDidResolutionModification(didUrl: string, didDoc: DIDDocument):
|
|
14
|
+
preDidResolutionModification(didUrl: string, didDoc: DIDDocument): Promise<DIDDocument>;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=JsonWebSignature2020.d.ts.map
|
|
@@ -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,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAM1E;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC7D,4BAA4B,IAAI,gBAAgB;IAIhD,yBAAyB,IAAI,QAAQ;IAI/B,kBAAkB,CACpB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC7C,OAAO,CAAC,GAAG,CAAC;IAmDf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,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,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAM1E;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC7D,4BAA4B,IAAI,gBAAgB;IAIhD,yBAAyB,IAAI,QAAQ;IAI/B,kBAAkB,CACpB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC7C,OAAO,CAAC,GAAG,CAAC;IAmDf,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;CAKhG"}
|
|
@@ -63,8 +63,9 @@ export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
|
|
|
63
63
|
preSigningCredModification(credential) {
|
|
64
64
|
// nop
|
|
65
65
|
}
|
|
66
|
-
preDidResolutionModification(didUrl, didDoc) {
|
|
66
|
+
async preDidResolutionModification(didUrl, didDoc) {
|
|
67
67
|
// do nothing
|
|
68
|
+
return didDoc;
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
//# sourceMappingURL=JsonWebSignature2020.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxD;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC7D,4BAA4B;QACxB,OAAO,gBAAgB,CAAA;IAC3B,CAAC;IAED,yBAAyB;QACrB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,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;YACX,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBACxD,MAAM,MAAM,GAAG;oBACX,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBAChB,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1F,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAC3D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACjD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACrB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YAC1C,CAAC;SACJ,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YAC1C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;YACzC,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC;aACxE;SACJ,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;YAC/B,GAAG,EAAE,eAAe;SACvB,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACrF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,8CAA8C,CAAC,CAAA;QACnH,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IACjC,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACpD,MAAM;IACV,CAAC;IAED,4BAA4B,CAAC,MAAc,EAAE,MAAmB;
|
|
1
|
+
{"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGxD;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC7D,4BAA4B;QACxB,OAAO,gBAAgB,CAAA;IAC3B,CAAC;IAED,yBAAyB;QACrB,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,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;YACX,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBACxD,MAAM,MAAM,GAAG;oBACX,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBAChB,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC1F,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;gBAC3D,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACjD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACrB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YAC1C,CAAC;SACJ,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YAC1C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;YACzC,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE;gBACV,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC;aACxE;SACJ,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;YAC/B,GAAG,EAAE,eAAe;SACvB,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACrF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,8CAA8C,CAAC,CAAA;QACnH,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED,uBAAuB;QACnB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IACjC,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACpD,MAAM;IACV,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QAClE,aAAa;QACb,OAAO,MAAM,CAAA;IACjB,CAAC;CAEJ"}
|
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.1.5-next.
|
|
4
|
+
"version": "5.1.5-next.13+c965fd50",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./build/index.js",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@transmute/ed25519-signature-2018": "^0.7.0-unstable.79",
|
|
28
28
|
"@transmute/json-web-signature": "^0.7.0-unstable.79",
|
|
29
29
|
"@veramo-community/lds-ecdsa-secp256k1-recovery2020": "uport-project/EcdsaSecp256k1RecoverySignature2020",
|
|
30
|
-
"@veramo/core-types": "^5.1.5-next.
|
|
31
|
-
"@veramo/utils": "^5.1.5-next.
|
|
30
|
+
"@veramo/core-types": "^5.1.5-next.13+c965fd50",
|
|
31
|
+
"@veramo/utils": "^5.1.5-next.13+c965fd50",
|
|
32
32
|
"cross-fetch": "^3.1.5",
|
|
33
33
|
"debug": "^4.3.3",
|
|
34
34
|
"did-resolver": "^4.0.1",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"node_modules",
|
|
64
64
|
"src"
|
|
65
65
|
],
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "c965fd502f652c9929ae4753c56ebbe351447733"
|
|
67
67
|
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createAgent,
|
|
3
|
+
CredentialPayload,
|
|
4
|
+
ICredentialPlugin,
|
|
5
|
+
IDIDManager,
|
|
6
|
+
IIdentifier,
|
|
7
|
+
IKeyManager,
|
|
8
|
+
IResolver,
|
|
9
|
+
TAgent,
|
|
10
|
+
} from '../../../core/src'
|
|
11
|
+
import { CredentialPlugin } from '../../../credential-w3c/src'
|
|
12
|
+
import { DIDManager, MemoryDIDStore } from '../../../did-manager/src'
|
|
13
|
+
import { KeyManager, MemoryKeyStore, MemoryPrivateKeyStore } from '../../../key-manager/src'
|
|
14
|
+
import { KeyManagementSystem } from '../../../kms-local/src'
|
|
15
|
+
import { DIDResolverPlugin } from '../../../did-resolver/src'
|
|
16
|
+
import { ContextDoc } from '../types'
|
|
17
|
+
import { CredentialIssuerLD } from '../action-handler'
|
|
18
|
+
import { LdDefaultContexts } from '../ld-default-contexts'
|
|
19
|
+
import { VeramoEd25519Signature2020 } from '../suites/Ed25519Signature2020'
|
|
20
|
+
import { Resolver } from 'did-resolver'
|
|
21
|
+
import { FakeDidProvider, FakeDidResolver } from '../../../test-utils/src/fake-did'
|
|
22
|
+
import { jest } from '@jest/globals'
|
|
23
|
+
|
|
24
|
+
jest.setTimeout(300000)
|
|
25
|
+
|
|
26
|
+
const customContext: Record<string, ContextDoc> = {
|
|
27
|
+
'custom:example.context': {
|
|
28
|
+
'@context': {
|
|
29
|
+
nothing: 'custom:example.context#blank',
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
describe('credential-LD full flow', () => {
|
|
35
|
+
let didFakeIdentifier: IIdentifier
|
|
36
|
+
let agent: TAgent<IResolver & IKeyManager & IDIDManager & ICredentialPlugin>
|
|
37
|
+
|
|
38
|
+
beforeAll(async () => {
|
|
39
|
+
agent = createAgent({
|
|
40
|
+
plugins: [
|
|
41
|
+
new KeyManager({
|
|
42
|
+
store: new MemoryKeyStore(),
|
|
43
|
+
kms: {
|
|
44
|
+
local: new KeyManagementSystem(new MemoryPrivateKeyStore()),
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
new DIDManager({
|
|
48
|
+
providers: {
|
|
49
|
+
'did:fake': new FakeDidProvider(),
|
|
50
|
+
},
|
|
51
|
+
store: new MemoryDIDStore(),
|
|
52
|
+
defaultProvider: 'did:fake',
|
|
53
|
+
}),
|
|
54
|
+
new DIDResolverPlugin({
|
|
55
|
+
resolver: new Resolver({
|
|
56
|
+
...new FakeDidResolver(() => agent, true).getDidFakeResolver(),
|
|
57
|
+
}),
|
|
58
|
+
}),
|
|
59
|
+
new CredentialPlugin(),
|
|
60
|
+
new CredentialIssuerLD({
|
|
61
|
+
contextMaps: [LdDefaultContexts, customContext],
|
|
62
|
+
suites: [new VeramoEd25519Signature2020()],
|
|
63
|
+
}),
|
|
64
|
+
],
|
|
65
|
+
})
|
|
66
|
+
didFakeIdentifier = await agent.didManagerImport({
|
|
67
|
+
did: 'did:fake:z6MkgbqNU4uF9NKSz5BqJQ4XKVHuQZYcUZP8pXGsJC8nTHwo',
|
|
68
|
+
keys: [
|
|
69
|
+
{
|
|
70
|
+
type: 'Ed25519',
|
|
71
|
+
kid: 'didcomm-senderKey-1',
|
|
72
|
+
publicKeyHex: '1fe9b397c196ab33549041b29cf93be29b9f2bdd27322f05844112fad97ff92a',
|
|
73
|
+
privateKeyHex:
|
|
74
|
+
'b57103882f7c66512dc96777cbafbeb2d48eca1e7a867f5a17a84e9a6740f7dc1fe9b397c196ab33549041b29cf93be29b9f2bdd27322f05844112fad97ff92a',
|
|
75
|
+
kms: 'local',
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
services: [
|
|
79
|
+
{
|
|
80
|
+
id: 'msg1',
|
|
81
|
+
type: 'DIDCommMessaging',
|
|
82
|
+
serviceEndpoint: 'http://localhost:3002/messaging',
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
provider: 'did:fake',
|
|
86
|
+
alias: 'sender',
|
|
87
|
+
})
|
|
88
|
+
})
|
|
89
|
+
|
|
90
|
+
it('works with Ed25519Signature2020 credential', async () => {
|
|
91
|
+
const credential: CredentialPayload = {
|
|
92
|
+
issuer: didFakeIdentifier.did,
|
|
93
|
+
'@context': ['custom:example.context'],
|
|
94
|
+
credentialSubject: {
|
|
95
|
+
nothing: 'else matters',
|
|
96
|
+
},
|
|
97
|
+
}
|
|
98
|
+
const verifiableCredential = await agent.createVerifiableCredential({
|
|
99
|
+
credential,
|
|
100
|
+
proofFormat: 'lds',
|
|
101
|
+
})
|
|
102
|
+
|
|
103
|
+
expect(verifiableCredential).toBeDefined()
|
|
104
|
+
|
|
105
|
+
const result = await agent.verifyCredential({
|
|
106
|
+
credential: verifiableCredential,
|
|
107
|
+
})
|
|
108
|
+
|
|
109
|
+
expect(result.verified).toBe(true)
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
it('works with Ed25519Signature2020 credential and presentation', async () => {
|
|
113
|
+
const credential: CredentialPayload = {
|
|
114
|
+
issuer: didFakeIdentifier.did,
|
|
115
|
+
'@context': ['custom:example.context'],
|
|
116
|
+
credentialSubject: {
|
|
117
|
+
nothing: 'else matters',
|
|
118
|
+
},
|
|
119
|
+
}
|
|
120
|
+
const verifiableCredential1 = await agent.createVerifiableCredential({
|
|
121
|
+
credential,
|
|
122
|
+
proofFormat: 'lds',
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
const verifiablePresentation = await agent.createVerifiablePresentation({
|
|
126
|
+
presentation: {
|
|
127
|
+
verifiableCredential: [verifiableCredential1],
|
|
128
|
+
holder: didFakeIdentifier.did,
|
|
129
|
+
},
|
|
130
|
+
challenge: 'VERAMO',
|
|
131
|
+
proofFormat: 'lds',
|
|
132
|
+
})
|
|
133
|
+
|
|
134
|
+
expect(verifiablePresentation).toBeDefined()
|
|
135
|
+
|
|
136
|
+
const result = await agent.verifyPresentation({
|
|
137
|
+
presentation: verifiablePresentation,
|
|
138
|
+
challenge: 'VERAMO',
|
|
139
|
+
})
|
|
140
|
+
|
|
141
|
+
expect(result.verified).toBe(true)
|
|
142
|
+
})
|
|
143
|
+
})
|