@sphereon/ssi-sdk.data-store 0.29.1-next.105 → 0.29.1-next.122
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/digitalCredential/DigitalCredentialStore.d.ts +5 -1
- package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js +57 -8
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +9 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +32 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +16 -4
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +15 -5
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js.map +1 -1
- package/dist/types/contact/contact.d.ts +2 -2
- package/dist/types/contact/contact.d.ts.map +1 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +5 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.d.ts +20 -3
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.js +13 -5
- package/dist/types/digitalCredential/digitalCredential.js.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts +4 -0
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js +44 -6
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/dist/utils/hasher.d.ts +3 -0
- package/dist/utils/hasher.d.ts.map +1 -0
- package/dist/utils/hasher.js +20 -0
- package/dist/utils/hasher.js.map +1 -0
- package/package.json +11 -8
- package/src/__tests__/digitalCredential.entities.test.ts +12 -0
- package/src/__tests__/digitalCredential.store.test.ts +22 -0
- package/src/digitalCredential/DigitalCredentialStore.ts +66 -10
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +25 -0
- package/src/index.ts +2 -0
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +17 -4
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +15 -5
- package/src/types/contact/contact.ts +2 -2
- package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +5 -1
- package/src/types/digitalCredential/digitalCredential.ts +21 -5
- package/src/utils/digitalCredential/MappingUtils.ts +50 -6
- package/src/utils/hasher.ts +19 -0
|
@@ -1,20 +1,30 @@
|
|
|
1
|
-
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id'
|
|
1
|
+
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id' | 'regulationType'> & {
|
|
2
|
+
regulationType?: RegulationType;
|
|
3
|
+
};
|
|
2
4
|
export type DigitalCredential = {
|
|
3
5
|
id: string;
|
|
6
|
+
parentId?: string;
|
|
4
7
|
documentType: DocumentType;
|
|
5
8
|
documentFormat: CredentialDocumentFormat;
|
|
6
9
|
credentialRole: CredentialRole;
|
|
10
|
+
regulationType: RegulationType;
|
|
7
11
|
rawDocument: string;
|
|
8
12
|
uniformDocument: string;
|
|
9
13
|
credentialId?: string;
|
|
10
14
|
hash: string;
|
|
15
|
+
kmsKeyRef?: string;
|
|
16
|
+
identifierMethod?: string;
|
|
11
17
|
issuerCorrelationType: CredentialCorrelationType;
|
|
12
18
|
subjectCorrelationType?: CredentialCorrelationType;
|
|
19
|
+
rpCorrelationType?: CredentialCorrelationType;
|
|
20
|
+
isIssuerSigned?: boolean;
|
|
13
21
|
issuerCorrelationId: string;
|
|
14
22
|
subjectCorrelationId?: string;
|
|
23
|
+
rpCorrelationId?: string;
|
|
15
24
|
verifiedState?: CredentialStateType;
|
|
16
25
|
tenantId?: string;
|
|
17
26
|
createdAt: Date;
|
|
27
|
+
presentedAt?: Date;
|
|
18
28
|
lastUpdatedAt: Date;
|
|
19
29
|
validUntil?: Date;
|
|
20
30
|
validFrom?: Date;
|
|
@@ -27,11 +37,17 @@ export declare enum DocumentType {
|
|
|
27
37
|
P = "P",
|
|
28
38
|
C = "C"
|
|
29
39
|
}
|
|
40
|
+
export declare enum RegulationType {
|
|
41
|
+
PID = "PID",
|
|
42
|
+
QEAA = "QEAA",
|
|
43
|
+
EAA = "EAA",
|
|
44
|
+
NON_REGULATED = "NON_REGULATED"
|
|
45
|
+
}
|
|
30
46
|
export declare enum CredentialDocumentFormat {
|
|
31
47
|
JSON_LD = "JSON_LD",
|
|
32
48
|
JWT = "JWT",
|
|
33
49
|
SD_JWT = "SD_JWT",
|
|
34
|
-
|
|
50
|
+
MSO_MDOC = "MSO_MDOC"
|
|
35
51
|
}
|
|
36
52
|
export declare namespace CredentialDocumentFormat {
|
|
37
53
|
function fromSpecValue(credentialFormat: string): CredentialDocumentFormat;
|
|
@@ -39,7 +55,8 @@ export declare namespace CredentialDocumentFormat {
|
|
|
39
55
|
}
|
|
40
56
|
export declare enum CredentialCorrelationType {
|
|
41
57
|
DID = "DID",
|
|
42
|
-
|
|
58
|
+
X509_SAN = "X509_SAN",
|
|
59
|
+
KID = "KID",
|
|
43
60
|
URL = "URL"
|
|
44
61
|
}
|
|
45
62
|
export declare enum CredentialRole {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,gBAAgB,CAAC,GAAG;IAAE,cAAc,CAAC,EAAE,cAAc,CAAA;CAAE,CAAA;AAElI,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,wBAAwB,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,aAAa,EAAE,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,oBAAY,YAAY;IACtB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,aAAa,kBAAkB;CAChC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,yBAAiB,wBAAwB,CAAC;IACxC,SAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,4BAarD;IAED,SAAgB,WAAW,CAAC,cAAc,EAAE,wBAAwB,EAAE,YAAY,EAAE,YAAY,kFAW/F;CACF;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CredentialStateType = exports.CredentialRole = exports.CredentialCorrelationType = exports.CredentialDocumentFormat = exports.DocumentType = void 0;
|
|
3
|
+
exports.CredentialStateType = exports.CredentialRole = exports.CredentialCorrelationType = exports.CredentialDocumentFormat = exports.RegulationType = exports.DocumentType = void 0;
|
|
4
4
|
var DocumentType;
|
|
5
5
|
(function (DocumentType) {
|
|
6
6
|
DocumentType["VC"] = "VC";
|
|
@@ -8,12 +8,19 @@ var DocumentType;
|
|
|
8
8
|
DocumentType["P"] = "P";
|
|
9
9
|
DocumentType["C"] = "C";
|
|
10
10
|
})(DocumentType || (exports.DocumentType = DocumentType = {}));
|
|
11
|
+
var RegulationType;
|
|
12
|
+
(function (RegulationType) {
|
|
13
|
+
RegulationType["PID"] = "PID";
|
|
14
|
+
RegulationType["QEAA"] = "QEAA";
|
|
15
|
+
RegulationType["EAA"] = "EAA";
|
|
16
|
+
RegulationType["NON_REGULATED"] = "NON_REGULATED";
|
|
17
|
+
})(RegulationType || (exports.RegulationType = RegulationType = {}));
|
|
11
18
|
var CredentialDocumentFormat;
|
|
12
19
|
(function (CredentialDocumentFormat) {
|
|
13
20
|
CredentialDocumentFormat["JSON_LD"] = "JSON_LD";
|
|
14
21
|
CredentialDocumentFormat["JWT"] = "JWT";
|
|
15
22
|
CredentialDocumentFormat["SD_JWT"] = "SD_JWT";
|
|
16
|
-
CredentialDocumentFormat["
|
|
23
|
+
CredentialDocumentFormat["MSO_MDOC"] = "MSO_MDOC";
|
|
17
24
|
})(CredentialDocumentFormat || (exports.CredentialDocumentFormat = CredentialDocumentFormat = {}));
|
|
18
25
|
(function (CredentialDocumentFormat) {
|
|
19
26
|
function fromSpecValue(credentialFormat) {
|
|
@@ -25,7 +32,7 @@ var CredentialDocumentFormat;
|
|
|
25
32
|
return CredentialDocumentFormat.JSON_LD;
|
|
26
33
|
}
|
|
27
34
|
else if (format.includes('mso') || credentialFormat.includes('mdoc')) {
|
|
28
|
-
return CredentialDocumentFormat.
|
|
35
|
+
return CredentialDocumentFormat.MSO_MDOC;
|
|
29
36
|
}
|
|
30
37
|
else if (format.includes('jwt_')) {
|
|
31
38
|
return CredentialDocumentFormat.JWT;
|
|
@@ -39,7 +46,7 @@ var CredentialDocumentFormat;
|
|
|
39
46
|
switch (documentFormat) {
|
|
40
47
|
case CredentialDocumentFormat.SD_JWT:
|
|
41
48
|
return 'vc+sd-jwt';
|
|
42
|
-
case CredentialDocumentFormat.
|
|
49
|
+
case CredentialDocumentFormat.MSO_MDOC:
|
|
43
50
|
return 'mso_mdoc';
|
|
44
51
|
case CredentialDocumentFormat.JSON_LD:
|
|
45
52
|
return documentType === DocumentType.C || documentType === DocumentType.VC ? 'ldp_vc' : 'ldp_vp';
|
|
@@ -52,7 +59,8 @@ var CredentialDocumentFormat;
|
|
|
52
59
|
var CredentialCorrelationType;
|
|
53
60
|
(function (CredentialCorrelationType) {
|
|
54
61
|
CredentialCorrelationType["DID"] = "DID";
|
|
55
|
-
CredentialCorrelationType["
|
|
62
|
+
CredentialCorrelationType["X509_SAN"] = "X509_SAN";
|
|
63
|
+
CredentialCorrelationType["KID"] = "KID";
|
|
56
64
|
CredentialCorrelationType["URL"] = "URL";
|
|
57
65
|
})(CredentialCorrelationType || (exports.CredentialCorrelationType = CredentialCorrelationType = {}));
|
|
58
66
|
var CredentialRole;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digitalCredential.js","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"digitalCredential.js","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":";;;AAiCA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,uBAAO,CAAA;IACP,uBAAO,CAAA;AACT,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iDAA+B,CAAA;AACjC,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,uCAAW,CAAA;IACX,6CAAiB,CAAA;IACjB,iDAAqB,CAAA;AACvB,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC;AAED,WAAiB,wBAAwB;IACvC,SAAgB,aAAa,CAAC,gBAAwB;QACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAA;QAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,wBAAwB,CAAC,MAAM,CAAA;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,wBAAwB,CAAC,OAAO,CAAA;QACzC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO,wBAAwB,CAAC,QAAQ,CAAA;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,wBAAwB,CAAC,GAAG,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,wBAAwB,MAAM,kBAAkB,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAbe,sCAAa,gBAa5B,CAAA;IAED,SAAgB,WAAW,CAAC,cAAwC,EAAE,YAA0B;QAC9F,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,wBAAwB,CAAC,MAAM;gBAClC,OAAO,WAAW,CAAA;YACpB,KAAK,wBAAwB,CAAC,QAAQ;gBACpC,OAAO,UAAU,CAAA;YACnB,KAAK,wBAAwB,CAAC,OAAO;gBACnC,OAAO,YAAY,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;YAClG,KAAK,wBAAwB,CAAC,GAAG;gBAC/B,OAAO,YAAY,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;QAC9G,CAAC;IACH,CAAC;IAXe,oCAAW,cAW1B,CAAA;AACH,CAAC,EA5BgB,wBAAwB,wCAAxB,wBAAwB,QA4BxC;AAED,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,wCAAW,CAAA;IACX,kDAAqB,CAAA;IACrB,wCAAW,CAAA;IACX,wCAAW,CAAA;AACb,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
|
+
import { OriginalVerifiableCredential, OriginalVerifiablePresentation } from '@sphereon/ssi-types';
|
|
1
2
|
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity';
|
|
2
3
|
import { AddCredentialArgs, DigitalCredential, NonPersistedDigitalCredential } from '../../types';
|
|
4
|
+
export declare function isHex(input: string): boolean;
|
|
5
|
+
export declare function parseRawDocument(raw: string): OriginalVerifiableCredential | OriginalVerifiablePresentation;
|
|
6
|
+
export declare function ensureRawDocument(input: string | object): string;
|
|
3
7
|
export declare const nonPersistedDigitalCredentialEntityFromAddArgs: (addCredentialArgs: AddCredentialArgs) => NonPersistedDigitalCredential;
|
|
4
8
|
export declare const digitalCredentialFrom: (credentialEntity: DigitalCredentialEntity) => DigitalCredential;
|
|
5
9
|
export declare const digitalCredentialsFrom: (credentialEntities: Array<DigitalCredentialEntity>) => DigitalCredential[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,4BAA4B,EAC5B,8BAA8B,EAE/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAClG,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAE9B,MAAM,aAAa,CAAA;AAoBpB,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,WAElC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,GAAG,8BAA8B,CAY3G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAgBhE;AAgDD,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BA4BrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.digitalCredentialsFrom = exports.digitalCredentialFrom = exports.nonPersistedDigitalCredentialEntityFromAddArgs = void 0;
|
|
3
|
+
exports.digitalCredentialsFrom = exports.digitalCredentialFrom = exports.nonPersistedDigitalCredentialEntityFromAddArgs = exports.ensureRawDocument = exports.parseRawDocument = exports.isHex = void 0;
|
|
4
4
|
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
5
|
const utils_1 = require("@veramo/utils");
|
|
6
6
|
const types_1 = require("../../types");
|
|
@@ -10,18 +10,26 @@ function determineDocumentType(raw) {
|
|
|
10
10
|
throw new Error(`Couldn't parse the credential: ${raw}`);
|
|
11
11
|
}
|
|
12
12
|
const hasProof = ssi_types_1.CredentialMapper.hasProof(rawDocument);
|
|
13
|
-
const isCredential = ssi_types_1.CredentialMapper.isCredential(rawDocument);
|
|
13
|
+
const isCredential = isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw) || ssi_types_1.CredentialMapper.isCredential(rawDocument);
|
|
14
14
|
const isPresentation = ssi_types_1.CredentialMapper.isPresentation(rawDocument);
|
|
15
15
|
if (isCredential) {
|
|
16
|
-
return hasProof ? types_1.DocumentType.VC : types_1.DocumentType.C;
|
|
16
|
+
return hasProof || isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw) ? types_1.DocumentType.VC : types_1.DocumentType.C;
|
|
17
17
|
}
|
|
18
18
|
else if (isPresentation) {
|
|
19
19
|
return hasProof ? types_1.DocumentType.VP : types_1.DocumentType.P;
|
|
20
20
|
}
|
|
21
21
|
throw new Error(`Couldn't determine the type of the credential: ${raw}`);
|
|
22
22
|
}
|
|
23
|
+
function isHex(input) {
|
|
24
|
+
return input.match(/^([0-9A-Fa-f])+$/g) !== null;
|
|
25
|
+
}
|
|
26
|
+
exports.isHex = isHex;
|
|
23
27
|
function parseRawDocument(raw) {
|
|
24
|
-
if (
|
|
28
|
+
if (isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw)) {
|
|
29
|
+
// mso_mdoc
|
|
30
|
+
return raw;
|
|
31
|
+
}
|
|
32
|
+
else if (ssi_types_1.CredentialMapper.isJwtEncoded(raw) || ssi_types_1.CredentialMapper.isSdJwtEncoded(raw)) {
|
|
25
33
|
return raw;
|
|
26
34
|
}
|
|
27
35
|
try {
|
|
@@ -31,6 +39,26 @@ function parseRawDocument(raw) {
|
|
|
31
39
|
throw new Error(`Can't parse the raw credential: ${raw}`);
|
|
32
40
|
}
|
|
33
41
|
}
|
|
42
|
+
exports.parseRawDocument = parseRawDocument;
|
|
43
|
+
function ensureRawDocument(input) {
|
|
44
|
+
if (typeof input === 'string') {
|
|
45
|
+
if (isHex(input) || ssi_types_1.ObjectUtils.isBase64(input)) {
|
|
46
|
+
// mso_mdoc
|
|
47
|
+
return input;
|
|
48
|
+
}
|
|
49
|
+
else if (ssi_types_1.CredentialMapper.isJwtEncoded(input) || ssi_types_1.CredentialMapper.isSdJwtEncoded(input)) {
|
|
50
|
+
return input;
|
|
51
|
+
}
|
|
52
|
+
throw Error('Unknown input to be mapped as rawDocument');
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
return JSON.stringify(input);
|
|
56
|
+
}
|
|
57
|
+
catch (e) {
|
|
58
|
+
throw new Error(`Can't stringify to a raw credential: ${input}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.ensureRawDocument = ensureRawDocument;
|
|
34
62
|
function determineCredentialDocumentFormat(documentFormat) {
|
|
35
63
|
switch (documentFormat) {
|
|
36
64
|
case 1 /* DocumentFormat.JSONLD */:
|
|
@@ -39,6 +67,8 @@ function determineCredentialDocumentFormat(documentFormat) {
|
|
|
39
67
|
return types_1.CredentialDocumentFormat.JWT;
|
|
40
68
|
case 2 /* DocumentFormat.SD_JWT_VC */:
|
|
41
69
|
return types_1.CredentialDocumentFormat.SD_JWT;
|
|
70
|
+
case 4 /* DocumentFormat.MSO_MDOC */:
|
|
71
|
+
return types_1.CredentialDocumentFormat.MSO_MDOC;
|
|
42
72
|
default:
|
|
43
73
|
throw new Error(`Not supported document format: ${documentFormat}`);
|
|
44
74
|
}
|
|
@@ -70,8 +100,14 @@ function getValidFrom(uniformDocument) {
|
|
|
70
100
|
}
|
|
71
101
|
return undefined;
|
|
72
102
|
}
|
|
103
|
+
const safeStringify = (object) => {
|
|
104
|
+
if (typeof object === 'string') {
|
|
105
|
+
return object;
|
|
106
|
+
}
|
|
107
|
+
return JSON.stringify(object);
|
|
108
|
+
};
|
|
73
109
|
const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
74
|
-
var _a, _b, _c;
|
|
110
|
+
var _a, _b, _c, _d;
|
|
75
111
|
const documentType = determineDocumentType(addCredentialArgs.rawDocument);
|
|
76
112
|
const documentFormat = ssi_types_1.CredentialMapper.detectDocumentType(addCredentialArgs.rawDocument);
|
|
77
113
|
if (documentFormat === 2 /* DocumentFormat.SD_JWT_VC */ && !((_a = addCredentialArgs.opts) === null || _a === void 0 ? void 0 : _a.hasher)) {
|
|
@@ -84,7 +120,9 @@ const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
|
84
120
|
const validFrom = getValidFrom(uniformDocument);
|
|
85
121
|
const validUntil = getValidUntil(uniformDocument);
|
|
86
122
|
const hash = (0, utils_1.computeEntryHash)(addCredentialArgs.rawDocument);
|
|
87
|
-
|
|
123
|
+
const regulationType = (_c = addCredentialArgs.regulationType) !== null && _c !== void 0 ? _c : types_1.RegulationType.NON_REGULATED;
|
|
124
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, addCredentialArgs), { regulationType,
|
|
125
|
+
documentType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), credentialId: (_d = uniformDocument.id) !== null && _d !== void 0 ? _d : hash, hash, uniformDocument: safeStringify(uniformDocument), validFrom }), (validUntil && { validUntil })), { lastUpdatedAt: new Date() });
|
|
88
126
|
};
|
|
89
127
|
exports.nonPersistedDigitalCredentialEntityFromAddArgs = nonPersistedDigitalCredentialEntityFromAddArgs;
|
|
90
128
|
const digitalCredentialFrom = (credentialEntity) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasher.d.ts","sourceRoot":"","sources":["../../src/utils/hasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAO5C,eAAO,MAAM,aAAa,EAAE,MAW3B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.defaultHasher = void 0;
|
|
7
|
+
const sha_js_1 = __importDefault(require("sha.js"));
|
|
8
|
+
const supportedAlgorithms = ['sha256', 'sha384', 'sha512'];
|
|
9
|
+
// FIXME this is a weird place for this, but it does have good reach in ssi-sdk cunlike the copy in oid4vc-common
|
|
10
|
+
const defaultHasher = (data, algorithm) => {
|
|
11
|
+
const sanitizedAlgorithm = algorithm.toLowerCase().replace(/[-_]/g, '');
|
|
12
|
+
if (!supportedAlgorithms.includes(sanitizedAlgorithm)) {
|
|
13
|
+
throw new Error(`Unsupported hashing algorithm ${algorithm}`);
|
|
14
|
+
}
|
|
15
|
+
return new Uint8Array((0, sha_js_1.default)(sanitizedAlgorithm)
|
|
16
|
+
.update(data)
|
|
17
|
+
.digest());
|
|
18
|
+
};
|
|
19
|
+
exports.defaultHasher = defaultHasher;
|
|
20
|
+
//# sourceMappingURL=hasher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hasher.js","sourceRoot":"","sources":["../../src/utils/hasher.ts"],"names":[],"mappings":";;;;;;AACA,oDAAwB;AAExB,MAAM,mBAAmB,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;AAGnE,iHAAiH;AAC1G,MAAM,aAAa,GAAW,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;IACvD,MAAM,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;IACvE,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,kBAAyC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,IAAI,UAAU,CACnB,IAAA,gBAAG,EAAC,kBAAyC,CAAC;SAC3C,MAAM,CAAC,IAAI,CAAC;SACZ,MAAM,EAAE,CACZ,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,aAAa,iBAWzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.data-store",
|
|
3
|
-
"version": "0.29.1-next.
|
|
3
|
+
"version": "0.29.1-next.122+7771d252",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -14,20 +14,23 @@
|
|
|
14
14
|
"typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@sphereon/
|
|
18
|
-
"@sphereon/
|
|
19
|
-
"@sphereon/ssi-sdk-ext.
|
|
20
|
-
"@sphereon/ssi-sdk.
|
|
21
|
-
"@sphereon/ssi-sdk.
|
|
22
|
-
"@sphereon/ssi-
|
|
17
|
+
"@sphereon/kmp-mdl-mdoc": "0.2.0-SNAPSHOT.22",
|
|
18
|
+
"@sphereon/pex": "4.1.1-unstable.1",
|
|
19
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.24.1-unstable.112",
|
|
20
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.24.1-unstable.112",
|
|
21
|
+
"@sphereon/ssi-sdk.agent-config": "0.29.1-next.122+7771d252",
|
|
22
|
+
"@sphereon/ssi-sdk.core": "0.29.1-next.122+7771d252",
|
|
23
|
+
"@sphereon/ssi-types": "0.29.1-next.122+7771d252",
|
|
23
24
|
"@veramo/core": "4.2.0",
|
|
24
25
|
"@veramo/utils": "4.2.0",
|
|
25
26
|
"blakejs": "^1.2.1",
|
|
26
27
|
"class-validator": "^0.14.1",
|
|
27
28
|
"debug": "^4.3.5",
|
|
29
|
+
"sha.js": "^2.4.11",
|
|
28
30
|
"typeorm": "^0.3.20"
|
|
29
31
|
},
|
|
30
32
|
"devDependencies": {
|
|
33
|
+
"@types/sha.js": "^2.4.4",
|
|
31
34
|
"pg": "^8.12.0",
|
|
32
35
|
"sqlite3": "^5.1.7"
|
|
33
36
|
},
|
|
@@ -50,5 +53,5 @@
|
|
|
50
53
|
"PostgreSQL",
|
|
51
54
|
"Contact Store"
|
|
52
55
|
],
|
|
53
|
-
"gitHead": "
|
|
56
|
+
"gitHead": "7771d25246dc55d701bbfb2c10efc8c8ec388366"
|
|
54
57
|
}
|
|
@@ -41,6 +41,8 @@ describe('Database entities tests', (): void => {
|
|
|
41
41
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
42
42
|
const digitalCredential: AddCredentialArgs = {
|
|
43
43
|
rawDocument: rawCredential,
|
|
44
|
+
kmsKeyRef: 'testRef',
|
|
45
|
+
identifierMethod: 'did',
|
|
44
46
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
45
47
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
46
48
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -68,6 +70,8 @@ describe('Database entities tests', (): void => {
|
|
|
68
70
|
const digitalCredential: NonPersistedDigitalCredential = nonPersistedDigitalCredentialEntityFromAddArgs({
|
|
69
71
|
rawDocument:
|
|
70
72
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
|
|
73
|
+
kmsKeyRef: 'testRef',
|
|
74
|
+
identifierMethod: 'did',
|
|
71
75
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
72
76
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
73
77
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -85,6 +89,8 @@ describe('Database entities tests', (): void => {
|
|
|
85
89
|
const digitalCredential: NonPersistedDigitalCredential = nonPersistedDigitalCredentialEntityFromAddArgs({
|
|
86
90
|
rawDocument:
|
|
87
91
|
'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDpleGFtcGxlOmFiZmUxM2Y3MTIxMjA0MzFjMjc2ZTEyZWNhYiNrZXlzLTEifQ.eyJzdWIiOiJkaWQ6ZXhhbXBsZTplYmZlYjFmNzEyZWJjNmYxYzI3NmUxMmVjMjEiLCJqdGkiOiJodHRwOi8vZXhhbXBsZS5lZHUvY3JlZGVudGlhbHMvMzczMiIsImlzcyI6Imh0dHBzOi8vZXhhbXBsZS5jb20va2V5cy9mb28uandrIiwibmJmIjoxNTQxNDkzNzI0LCJpYXQiOjE1NDE0OTM3MjQsImV4cCI6MTU3MzAyOTcyMywibm9uY2UiOiI2NjAhNjM0NUZTZXIiLCJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL2V4YW1wbGVzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJVbml2ZXJzaXR5RGVncmVlQ3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJkZWdyZWUiOnsidHlwZSI6IkJhY2hlbG9yRGVncmVlIiwibmFtZSI6IjxzcGFuIGxhbmc9J2ZyLUNBJz5CYWNjYWxhdXLDqWF0IGVuIG11c2lxdWVzIG51bcOpcmlxdWVzPC9zcGFuPiJ9fX19.KLJo5GAyBND3LDTn9H7FQokEsUEi8jKwXhGvoN3JtRa51xrNDgXDb0cq1UTYB-rK4Ft9YVmR1NI_ZOF8oGc_7wAp8PHbF2HaWodQIoOBxxT-4WNqAxft7ET6lkH-4S6Ux3rSGAmczMohEEf8eCeN-jC8WekdPl6zKZQj0YPB1rx6X0-xlFBs7cl6Wt8rfBP_tZ9YgVWrQmUWypSioc0MUyiphmyEbLZagTyPlUyflGlEdqrZAv6eSe6RtxJy6M1-lD7a5HTzanYTWBPAUHDZGyGKXdJw-W_x0IWChBzI8t3kpG253fg6V3tPgHeKXE94fz_QpYfg--7kLsyBAfQGbg',
|
|
92
|
+
kmsKeyRef: 'testRef',
|
|
93
|
+
identifierMethod: 'did',
|
|
88
94
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
89
95
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
90
96
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -128,6 +134,8 @@ describe('Database entities tests', (): void => {
|
|
|
128
134
|
},
|
|
129
135
|
],
|
|
130
136
|
}),
|
|
137
|
+
kmsKeyRef: 'testRef',
|
|
138
|
+
identifierMethod: 'did',
|
|
131
139
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
132
140
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
133
141
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -227,6 +235,8 @@ describe('Database entities tests', (): void => {
|
|
|
227
235
|
jws: '...',
|
|
228
236
|
},
|
|
229
237
|
}),
|
|
238
|
+
kmsKeyRef: 'testRef',
|
|
239
|
+
identifierMethod: 'did',
|
|
230
240
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
231
241
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
232
242
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -244,6 +254,8 @@ describe('Database entities tests', (): void => {
|
|
|
244
254
|
const digitalCredential: NonPersistedDigitalCredential = nonPersistedDigitalCredentialEntityFromAddArgs({
|
|
245
255
|
rawDocument:
|
|
246
256
|
'eyJhbGciOiJFZERTQSIsInR5cCI6InZjK3NkLWp3dCIsImtpZCI6IiN6Nk1rdHF0WE5HOENEVVk5UHJydG9TdEZ6ZUNuaHBNbWd4WUwxZ2lrY1czQnp2TlcifQ.eyJ2Y3QiOiJJZGVudGl0eUNyZWRlbnRpYWwiLCJmYW1pbHlfbmFtZSI6IkRvZSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsIl9zZCI6WyJOSm5tY3QwQnFCTUUxSmZCbEM2alJRVlJ1ZXZwRU9OaVl3N0E3TUh1SnlRIiwib201Wnp0WkhCLUdkMDBMRzIxQ1ZfeE00RmFFTlNvaWFPWG5UQUpOY3pCNCJdfSwiY25mIjp7Imp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5IiwieCI6Im9FTlZzeE9VaUg1NFg4d0pMYVZraWNDUmswMHdCSVE0c1JnYms1NE44TW8ifX0sImlzcyI6ImRpZDprZXk6ejZNa3RxdFhORzhDRFVZOVBycnRvU3RGemVDbmhwTW1neFlMMWdpa2NXM0J6dk5XIiwiaWF0IjoxNjk4MTUxNTMyLCJfc2RfYWxnIjoic2hhLTI1NiIsIl9zZCI6WyIxQ3VyMmsyQTJvSUI1Q3NoU0lmX0FfS2ctbDI2dV9xS3VXUTc5UDBWZGFzIiwiUjF6VFV2T1lIZ2NlcGowakh5cEdIejlFSHR0VktmdDB5c3diYzlFVFBiVSIsImVEcVFwZFRYSlhiV2hmLUVzSTd6dzVYNk92WW1GTi1VWlFRTWVzWHdLUHciLCJwZERrMl9YQUtIbzdnT0Fmd0YxYjdPZENVVlRpdDJrSkhheFNFQ1E5eGZjIiwicHNhdUtVTldFaTA5bnUzQ2w4OXhLWGdtcFdFTlpsNXV5MU4xbnluX2pNayIsInNOX2dlMHBIWEY2cW1zWW5YMUE5U2R3SjhjaDhhRU5reGJPRHNUNzRZd0kiXX0.coOK8NzJmEWz4qx-qRhjo-RK7aejrSkQM9La9Cw3eWmzcja9DXrkBoQZKbIJtNoSzSPLjwK2V71W78z0miZsDQ~WyJzYWx0IiwiaXNfb3Zlcl82NSIsdHJ1ZV0~WyJzYWx0IiwiaXNfb3Zlcl8yMSIsdHJ1ZV0~WyJzYWx0IiwiZW1haWwiLCJqb2huZG9lQGV4YW1wbGUuY29tIl0~WyJzYWx0IiwiY291bnRyeSIsIlVTIl0~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkpvaG4iXQ~eyJhbGciOiJFZERTQSIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE2OTgxNTE1MzIsIm5vbmNlIjoic2FsdCIsImF1ZCI6ImRpZDprZXk6elVDNzRWRXFxaEVIUWNndjR6YWdTUGtxRkp4dU5XdW9CUEtqSnVIRVRFVWVITG9TcVd0OTJ2aVNzbWFXank4MnkiLCJfc2RfaGFzaCI6Ii1kTUd4OGZhUnpOQm91a2EwU0R6V2JkS3JYckw1TFVmUlNQTHN2Q2xPMFkifQ.TQQLqc4ZzoKjQfAghAzC_4aaU3KCS8YqzxAJtzT124guzkv9XSHtPN8d3z181_v-ca2ATXjTRoRciozitE6wBA',
|
|
257
|
+
kmsKeyRef: 'testRef',
|
|
258
|
+
identifierMethod: 'did',
|
|
247
259
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
248
260
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
249
261
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -45,6 +45,8 @@ describe('Database entities tests', (): void => {
|
|
|
45
45
|
rawDocument: rawCredential,
|
|
46
46
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
47
47
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
48
|
+
kmsKeyRef: 'testRef',
|
|
49
|
+
identifierMethod: 'did',
|
|
48
50
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
49
51
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
50
52
|
credentialRole: CredentialRole.VERIFIER,
|
|
@@ -59,6 +61,8 @@ describe('Database entities tests', (): void => {
|
|
|
59
61
|
const digitalCredential: AddCredentialArgs = {
|
|
60
62
|
rawDocument:
|
|
61
63
|
'eyJhbGciOiJFZERTQSIsInR5cCI6InZjK3NkLWp3dCIsImtpZCI6IiN6Nk1rdHF0WE5HOENEVVk5UHJydG9TdEZ6ZUNuaHBNbWd4WUwxZ2lrY1czQnp2TlcifQ.eyJ2Y3QiOiJJZGVudGl0eUNyZWRlbnRpYWwiLCJmYW1pbHlfbmFtZSI6IkRvZSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsIl9zZCI6WyJOSm5tY3QwQnFCTUUxSmZCbEM2alJRVlJ1ZXZwRU9OaVl3N0E3TUh1SnlRIiwib201Wnp0WkhCLUdkMDBMRzIxQ1ZfeE00RmFFTlNvaWFPWG5UQUpOY3pCNCJdfSwiY25mIjp7Imp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5IiwieCI6Im9FTlZzeE9VaUg1NFg4d0pMYVZraWNDUmswMHdCSVE0c1JnYms1NE44TW8ifX0sImlzcyI6ImRpZDprZXk6ejZNa3RxdFhORzhDRFVZOVBycnRvU3RGemVDbmhwTW1neFlMMWdpa2NXM0J6dk5XIiwiaWF0IjoxNjk4MTUxNTMyLCJfc2RfYWxnIjoic2hhLTI1NiIsIl9zZCI6WyIxQ3VyMmsyQTJvSUI1Q3NoU0lmX0FfS2ctbDI2dV9xS3VXUTc5UDBWZGFzIiwiUjF6VFV2T1lIZ2NlcGowakh5cEdIejlFSHR0VktmdDB5c3diYzlFVFBiVSIsImVEcVFwZFRYSlhiV2hmLUVzSTd6dzVYNk92WW1GTi1VWlFRTWVzWHdLUHciLCJwZERrMl9YQUtIbzdnT0Fmd0YxYjdPZENVVlRpdDJrSkhheFNFQ1E5eGZjIiwicHNhdUtVTldFaTA5bnUzQ2w4OXhLWGdtcFdFTlpsNXV5MU4xbnluX2pNayIsInNOX2dlMHBIWEY2cW1zWW5YMUE5U2R3SjhjaDhhRU5reGJPRHNUNzRZd0kiXX0.coOK8NzJmEWz4qx-qRhjo-RK7aejrSkQM9La9Cw3eWmzcja9DXrkBoQZKbIJtNoSzSPLjwK2V71W78z0miZsDQ~WyJzYWx0IiwiaXNfb3Zlcl82NSIsdHJ1ZV0~WyJzYWx0IiwiaXNfb3Zlcl8yMSIsdHJ1ZV0~WyJzYWx0IiwiZW1haWwiLCJqb2huZG9lQGV4YW1wbGUuY29tIl0~WyJzYWx0IiwiY291bnRyeSIsIlVTIl0~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkpvaG4iXQ~eyJhbGciOiJFZERTQSIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE2OTgxNTE1MzIsIm5vbmNlIjoic2FsdCIsImF1ZCI6ImRpZDprZXk6elVDNzRWRXFxaEVIUWNndjR6YWdTUGtxRkp4dU5XdW9CUEtqSnVIRVRFVWVITG9TcVd0OTJ2aVNzbWFXank4MnkiLCJfc2RfaGFzaCI6Ii1kTUd4OGZhUnpOQm91a2EwU0R6V2JkS3JYckw1TFVmUlNQTHN2Q2xPMFkifQ.TQQLqc4ZzoKjQfAghAzC_4aaU3KCS8YqzxAJtzT124guzkv9XSHtPN8d3z181_v-ca2ATXjTRoRciozitE6wBA',
|
|
64
|
+
kmsKeyRef: 'testRef',
|
|
65
|
+
identifierMethod: 'did',
|
|
62
66
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
63
67
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
64
68
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -76,6 +80,8 @@ describe('Database entities tests', (): void => {
|
|
|
76
80
|
const addCredentialArgs1: AddCredentialArgs = {
|
|
77
81
|
rawDocument:
|
|
78
82
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
|
|
83
|
+
kmsKeyRef: 'testRef',
|
|
84
|
+
identifierMethod: 'did',
|
|
79
85
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
80
86
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
81
87
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -86,6 +92,8 @@ describe('Database entities tests', (): void => {
|
|
|
86
92
|
const addCredentialArgs2: AddCredentialArgs = {
|
|
87
93
|
rawDocument:
|
|
88
94
|
'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDkyMTQxNzgsInZjIjp7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJHdWVzdENyZWRlbnRpYWwiXSwiY3JlZGVudGlhbFN1YmplY3QiOnsiZmlyc3ROYW1lIjoiUyIsImxhc3ROYW1lIjoiSyIsIkUtbWFpbCI6IiIsInR5cGUiOiJTcGhlcmVvbiBHdWVzdCIsImlkIjoiZGlkOmp3azpleUpoYkdjaU9pSkZVekkxTmtzaUxDSjFjMlVpT2lKemFXY2lMQ0pyZEhraU9pSkZReUlzSW1OeWRpSTZJbk5sWTNBeU5UWnJNU0lzSW5naU9pSldjWGhIZVhWUk5WUTBXVEpzZGpKSFkybE9TaTFEYURCVWFGVm1kVk5RWm0wdFJYVlNZbGRNWlVOM0lpd2llU0k2SW01T1FWQnBiR0V5VDBRNGRXOXBXbk5LVm1aUmFrbDJTMUZUZWxBelFqVlBXbVZSYkVoQ1VUbHliVFFpZlEifX0sIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJHdWVzdENyZWRlbnRpYWwiXSwiZXhwaXJhdGlvbkRhdGUiOiIyMDI0LTAyLTI5VDEzOjQyOjU4LjgzNVoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiRS1tYWlsIjoiIiwidHlwZSI6IlNwaGVyZW9uIEd1ZXN0IiwiaWQiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOa3NpTENKMWMyVWlPaUp6YVdjaUxDSnJkSGtpT2lKRlF5SXNJbU55ZGlJNkluTmxZM0F5TlRack1TSXNJbmdpT2lKV2NYaEhlWFZSTlZRMFdUSnNkakpIWTJsT1NpMURhREJVYUZWbWRWTlFabTB0UlhWU1lsZE1aVU4zSWl3aWVTSTZJbTVPUVZCcGJHRXlUMFE0ZFc5cFduTktWbVpSYWtsMlMxRlRlbEF6UWpWUFdtVlJiRWhDVVRseWJUUWlmUSJ9LCJpc3N1ZXIiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOaUlzSW5WelpTSTZJbk5wWnlJc0ltdDBlU0k2SWtWRElpd2lZM0oySWpvaVVDMHlOVFlpTENKNElqb2lWRWN5U0RKNE1tUlhXRTR6ZFVOeFduQnhSakY1YzBGUVVWWkVTa1ZPWDBndFEwMTBZbWRxWWkxT1p5SXNJbmtpT2lJNVRUaE9lR1F3VUU0eU1rMDViRkJFZUdSd1JIQnZWRXg2TVRWM1pubGFTbk0yV21oTFNWVktNek00SW4wIiwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMi0yMlQxMzo0Mjo1OC44MzVaIiwic3ViIjoiZGlkOmp3azpleUpoYkdjaU9pSkZVekkxTmtzaUxDSjFjMlVpT2lKemFXY2lMQ0pyZEhraU9pSkZReUlzSW1OeWRpSTZJbk5sWTNBeU5UWnJNU0lzSW5naU9pSldjWGhIZVhWUk5WUTBXVEpzZGpKSFkybE9TaTFEYURCVWFGVm1kVk5RWm0wdFJYVlNZbGRNWlVOM0lpd2llU0k2SW01T1FWQnBiR0V5VDBRNGRXOXBXbk5LVm1aUmFrbDJTMUZUZWxBelFqVlBXbVZSYkVoQ1VUbHliVFFpZlEiLCJuYmYiOjE3MDg2MDkzNzgsImlzcyI6ImRpZDpqd2s6ZXlKaGJHY2lPaUpGVXpJMU5pSXNJblZ6WlNJNkluTnBaeUlzSW10MGVTSTZJa1ZESWl3aVkzSjJJam9pVUMweU5UWWlMQ0o0SWpvaVZFY3lTREo0TW1SWFdFNHpkVU54V25CeFJqRjVjMEZRVVZaRVNrVk9YMGd0UTAxMFltZHFZaTFPWnlJc0lua2lPaUk1VFRoT2VHUXdVRTR5TWswNWJGQkVlR1J3UkhCdlZFeDZNVFYzWm5sYVNuTTJXbWhMU1ZWS016TTRJbjAifQ.GgLRWHO674wu6QF_xUGbCi_2zDD8jNf_xoWNvH5K605xvBoz6qKx0ndmxLeGQWWUA-4VuAkznf3ROcp9wpgbEw',
|
|
95
|
+
kmsKeyRef: 'testRef',
|
|
96
|
+
identifierMethod: 'did',
|
|
89
97
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
90
98
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
91
99
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -107,6 +115,8 @@ describe('Database entities tests', (): void => {
|
|
|
107
115
|
const addCredentialArgs1: AddCredentialArgs = {
|
|
108
116
|
rawDocument:
|
|
109
117
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
|
|
118
|
+
kmsKeyRef: 'testRef',
|
|
119
|
+
identifierMethod: 'did',
|
|
110
120
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
111
121
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
112
122
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -155,6 +165,8 @@ describe('Database entities tests', (): void => {
|
|
|
155
165
|
}
|
|
156
166
|
const addCredentialArgs2: AddCredentialArgs = {
|
|
157
167
|
rawDocument: JSON.stringify(sampleVP),
|
|
168
|
+
kmsKeyRef: 'testRef',
|
|
169
|
+
identifierMethod: 'did',
|
|
158
170
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
159
171
|
issuerCorrelationId: 'did:example:holder',
|
|
160
172
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -165,6 +177,8 @@ describe('Database entities tests', (): void => {
|
|
|
165
177
|
const addCredentialArgs3: AddCredentialArgs = {
|
|
166
178
|
rawDocument:
|
|
167
179
|
'eyJhbGciOiJFZERTQSIsInR5cCI6InZjK3NkLWp3dCIsImtpZCI6IiN6Nk1rdHF0WE5HOENEVVk5UHJydG9TdEZ6ZUNuaHBNbWd4WUwxZ2lrY1czQnp2TlcifQ.eyJ2Y3QiOiJJZGVudGl0eUNyZWRlbnRpYWwiLCJmYW1pbHlfbmFtZSI6IkRvZSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsIl9zZCI6WyJOSm5tY3QwQnFCTUUxSmZCbEM2alJRVlJ1ZXZwRU9OaVl3N0E3TUh1SnlRIiwib201Wnp0WkhCLUdkMDBMRzIxQ1ZfeE00RmFFTlNvaWFPWG5UQUpOY3pCNCJdfSwiY25mIjp7Imp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5IiwieCI6Im9FTlZzeE9VaUg1NFg4d0pMYVZraWNDUmswMHdCSVE0c1JnYms1NE44TW8ifX0sImlzcyI6ImRpZDprZXk6ejZNa3RxdFhORzhDRFVZOVBycnRvU3RGemVDbmhwTW1neFlMMWdpa2NXM0J6dk5XIiwiaWF0IjoxNjk4MTUxNTMyLCJfc2RfYWxnIjoic2hhLTI1NiIsIl9zZCI6WyIxQ3VyMmsyQTJvSUI1Q3NoU0lmX0FfS2ctbDI2dV9xS3VXUTc5UDBWZGFzIiwiUjF6VFV2T1lIZ2NlcGowakh5cEdIejlFSHR0VktmdDB5c3diYzlFVFBiVSIsImVEcVFwZFRYSlhiV2hmLUVzSTd6dzVYNk92WW1GTi1VWlFRTWVzWHdLUHciLCJwZERrMl9YQUtIbzdnT0Fmd0YxYjdPZENVVlRpdDJrSkhheFNFQ1E5eGZjIiwicHNhdUtVTldFaTA5bnUzQ2w4OXhLWGdtcFdFTlpsNXV5MU4xbnluX2pNayIsInNOX2dlMHBIWEY2cW1zWW5YMUE5U2R3SjhjaDhhRU5reGJPRHNUNzRZd0kiXX0.coOK8NzJmEWz4qx-qRhjo-RK7aejrSkQM9La9Cw3eWmzcja9DXrkBoQZKbIJtNoSzSPLjwK2V71W78z0miZsDQ~WyJzYWx0IiwiaXNfb3Zlcl82NSIsdHJ1ZV0~WyJzYWx0IiwiaXNfb3Zlcl8yMSIsdHJ1ZV0~WyJzYWx0IiwiZW1haWwiLCJqb2huZG9lQGV4YW1wbGUuY29tIl0~WyJzYWx0IiwiY291bnRyeSIsIlVTIl0~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkpvaG4iXQ~eyJhbGciOiJFZERTQSIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE2OTgxNTE1MzIsIm5vbmNlIjoic2FsdCIsImF1ZCI6ImRpZDprZXk6elVDNzRWRXFxaEVIUWNndjR6YWdTUGtxRkp4dU5XdW9CUEtqSnVIRVRFVWVITG9TcVd0OTJ2aVNzbWFXank4MnkiLCJfc2RfaGFzaCI6Ii1kTUd4OGZhUnpOQm91a2EwU0R6V2JkS3JYckw1TFVmUlNQTHN2Q2xPMFkifQ.TQQLqc4ZzoKjQfAghAzC_4aaU3KCS8YqzxAJtzT124guzkv9XSHtPN8d3z181_v-ca2ATXjTRoRciozitE6wBA',
|
|
180
|
+
kmsKeyRef: 'testRef',
|
|
181
|
+
identifierMethod: 'did',
|
|
168
182
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
169
183
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
170
184
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -218,6 +232,8 @@ describe('Database entities tests', (): void => {
|
|
|
218
232
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
219
233
|
const digitalCredential: AddCredentialArgs = {
|
|
220
234
|
rawDocument: rawCredential,
|
|
235
|
+
kmsKeyRef: 'testRef',
|
|
236
|
+
identifierMethod: 'did',
|
|
221
237
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
222
238
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
223
239
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -241,6 +257,8 @@ describe('Database entities tests', (): void => {
|
|
|
241
257
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
242
258
|
const digitalCredential: AddCredentialArgs = {
|
|
243
259
|
rawDocument: rawCredential,
|
|
260
|
+
kmsKeyRef: 'testRef',
|
|
261
|
+
identifierMethod: 'did',
|
|
244
262
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
245
263
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
246
264
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -264,6 +282,8 @@ describe('Database entities tests', (): void => {
|
|
|
264
282
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
265
283
|
const digitalCredential: AddCredentialArgs = {
|
|
266
284
|
rawDocument: rawCredential,
|
|
285
|
+
kmsKeyRef: 'testRef',
|
|
286
|
+
identifierMethod: 'did',
|
|
267
287
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
268
288
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
269
289
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
@@ -287,6 +307,8 @@ describe('Database entities tests', (): void => {
|
|
|
287
307
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
288
308
|
const digitalCredential: AddCredentialArgs = {
|
|
289
309
|
rawDocument: rawCredential,
|
|
310
|
+
kmsKeyRef: 'testRef',
|
|
311
|
+
identifierMethod: 'did',
|
|
290
312
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
291
313
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
292
314
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|