@extrimian/agent 0.12.0-2 → 0.12.0-4
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/agent.d.ts +77 -0
- package/dist/agent.js +174 -0
- package/dist/agent.js.map +1 -0
- package/dist/data-share-behaviours/data-share-behavior.d.ts +4 -0
- package/dist/data-share-behaviours/data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.d.ts +16 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js +3 -0
- package/dist/data-share-behaviours/identity-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.d.ts +5 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js +16 -0
- package/dist/data-share-behaviours/identity-plaintext-data-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.d.ts +12 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js +3 -0
- package/dist/data-share-behaviours/vcs/vc-share-behavior.js.map +1 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.d.ts +20 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js +30 -0
- package/dist/data-share-behaviours/vcs/vc-share-didcomm-behavior.js.map +1 -0
- package/dist/did/did-services.d.ts +14 -0
- package/dist/did/did-services.js +15 -0
- package/dist/did/did-services.js.map +1 -0
- package/dist/exceptions/agent-plugin-not-found.d.ts +2 -0
- package/dist/exceptions/agent-plugin-not-found.js +7 -0
- package/dist/exceptions/agent-plugin-not-found.js.map +1 -0
- package/dist/exceptions/vc-protocol-not-found.d.ts +3 -0
- package/dist/exceptions/vc-protocol-not-found.js +12 -0
- package/dist/exceptions/vc-protocol-not-found.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/messaging/messaging.d.ts +41 -0
- package/dist/messaging/messaging.js +89 -0
- package/dist/messaging/messaging.js.map +1 -0
- package/dist/models/agent-identity.d.ts +86 -0
- package/dist/models/agent-identity.js +400 -0
- package/dist/models/agent-identity.js.map +1 -0
- package/dist/models/agent-kms.d.ts +42 -0
- package/dist/models/agent-kms.js +79 -0
- package/dist/models/agent-kms.js.map +1 -0
- package/dist/models/agent-pbk.d.ts +11 -0
- package/dist/models/agent-pbk.js +12 -0
- package/dist/models/agent-pbk.js.map +1 -0
- package/dist/models/agent-registry.d.ts +94 -0
- package/dist/models/agent-registry.js +130 -0
- package/dist/models/agent-registry.js.map +1 -0
- package/dist/models/agent-resolver-cache.d.ts +21 -0
- package/dist/models/agent-resolver-cache.js +48 -0
- package/dist/models/agent-resolver-cache.js.map +1 -0
- package/dist/models/agent-resolver.d.ts +19 -0
- package/dist/models/agent-resolver.js +34 -0
- package/dist/models/agent-resolver.js.map +1 -0
- package/dist/models/agent-secure-storage.d.ts +3 -0
- package/dist/models/agent-secure-storage.js +3 -0
- package/dist/models/agent-secure-storage.js.map +1 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.d.ts +14 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js +49 -0
- package/dist/models/agent-secure-storages/filesystem-agent-secure-storage.js.map +1 -0
- package/dist/models/agent-storage.d.ts +9 -0
- package/dist/models/agent-storage.js +3 -0
- package/dist/models/agent-storage.js.map +1 -0
- package/dist/models/did.d.ts +19 -0
- package/dist/models/did.js +64 -0
- package/dist/models/did.js.map +1 -0
- package/dist/models/transports/ami-transport.d.ts +30 -0
- package/dist/models/transports/ami-transport.js +184 -0
- package/dist/models/transports/ami-transport.js.map +1 -0
- package/dist/models/transports/connectable-transport.d.ts +25 -0
- package/dist/models/transports/connectable-transport.js +26 -0
- package/dist/models/transports/connectable-transport.js.map +1 -0
- package/dist/models/transports/dwn-transport.d.ts +32 -0
- package/dist/models/transports/dwn-transport.js +192 -0
- package/dist/models/transports/dwn-transport.js.map +1 -0
- package/dist/models/transports/messaging-transport.d.ts +3 -0
- package/dist/models/transports/messaging-transport.js +3 -0
- package/dist/models/transports/messaging-transport.js.map +1 -0
- package/dist/models/transports/transport.d.ts +30 -0
- package/dist/models/transports/transport.js +8 -0
- package/dist/models/transports/transport.js.map +1 -0
- package/dist/models/transports/websocket-client-transport.d.ts +5 -0
- package/dist/models/transports/websocket-client-transport.js +34 -0
- package/dist/models/transports/websocket-client-transport.js.map +1 -0
- package/dist/models/transports/websocket-server-transport.d.ts +7 -0
- package/dist/models/transports/websocket-server-transport.js +22 -0
- package/dist/models/transports/websocket-server-transport.js.map +1 -0
- package/dist/models/transports/websocket-transport.d.ts +30 -0
- package/dist/models/transports/websocket-transport.js +85 -0
- package/dist/models/transports/websocket-transport.js.map +1 -0
- package/dist/models/vc-storage.d.ts +8 -0
- package/dist/models/vc-storage.js +3 -0
- package/dist/models/vc-storage.js.map +1 -0
- package/dist/plugins/iplugin.d.ts +17 -0
- package/dist/plugins/iplugin.js +3 -0
- package/dist/plugins/iplugin.js.map +1 -0
- package/dist/plugins/istatus-list-plugin.d.ts +14 -0
- package/dist/plugins/istatus-list-plugin.js +3 -0
- package/dist/plugins/istatus-list-plugin.js.map +1 -0
- package/dist/plugins/ivc-interceptor-plugin.d.ts +9 -0
- package/dist/plugins/ivc-interceptor-plugin.js +3 -0
- package/dist/plugins/ivc-interceptor-plugin.js.map +1 -0
- package/dist/plugins/plugin-dispatcher.d.ts +6 -0
- package/dist/plugins/plugin-dispatcher.js +20 -0
- package/dist/plugins/plugin-dispatcher.js.map +1 -0
- package/dist/transport/transport.d.ts +43 -0
- package/dist/transport/transport.js +110 -0
- package/dist/transport/transport.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +15 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/lite-event.d.ts +25 -0
- package/dist/utils/lite-event.js +37 -0
- package/dist/utils/lite-event.js.map +1 -0
- package/dist/vc/models/credentia-flow.d.ts +4 -0
- package/dist/vc/models/credentia-flow.js +9 -0
- package/dist/vc/models/credentia-flow.js.map +1 -0
- package/dist/vc/models/credential-request.d.ts +3 -0
- package/dist/vc/models/credential-request.js +3 -0
- package/dist/vc/models/credential-request.js.map +1 -0
- package/dist/vc/models/vc-create-key-request.d.ts +4 -0
- package/dist/vc/models/vc-create-key-request.js +3 -0
- package/dist/vc/models/vc-create-key-request.js.map +1 -0
- package/dist/vc/models/waci-message.d.ts +3 -0
- package/dist/vc/models/waci-message.js +8 -0
- package/dist/vc/models/waci-message.js.map +1 -0
- package/dist/vc/protocols/openid-protocol.d.ts +161 -0
- package/dist/vc/protocols/openid-protocol.js +126 -0
- package/dist/vc/protocols/openid-protocol.js.map +1 -0
- package/dist/vc/protocols/vc-protocol.d.ts +106 -0
- package/dist/vc/protocols/vc-protocol.js +37 -0
- package/dist/vc/protocols/vc-protocol.js.map +1 -0
- package/dist/vc/protocols/waci-protocol.d.ts +183 -0
- package/dist/vc/protocols/waci-protocol.js +553 -0
- package/dist/vc/protocols/waci-protocol.js.map +1 -0
- package/dist/vc/vc-setup/vc-setup.d.ts +0 -0
- package/dist/vc/vc-setup/vc-setup.js +1 -0
- package/dist/vc/vc-setup/vc-setup.js.map +1 -0
- package/dist/vc/vc.d.ts +225 -0
- package/dist/vc/vc.js +329 -0
- package/dist/vc/vc.js.map +1 -0
- package/package.json +2 -2
package/dist/vc/vc.d.ts
ADDED
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { Purpose } from "@extrimian/did-core";
|
|
2
|
+
import { IJWK, IKMS } from "@extrimian/kms-core";
|
|
3
|
+
import { VerifiableCredential } from "@extrimian/vc-core";
|
|
4
|
+
import { VCSuiteError } from "@extrimian/vc-verifier";
|
|
5
|
+
import { CredentialManifestStyles, PresentationDefinitionFrame } from "@extrimian/waci";
|
|
6
|
+
import { Messaging } from "../messaging/messaging";
|
|
7
|
+
import { AgentIdentity } from "../models/agent-identity";
|
|
8
|
+
import { AgentPublicKey } from "../models/agent-pbk";
|
|
9
|
+
import { IAgentResolver } from "../models/agent-resolver";
|
|
10
|
+
import { IStorage } from "../models/agent-storage";
|
|
11
|
+
import { DID } from "../models/did";
|
|
12
|
+
import { ITransport } from "../models/transports/transport";
|
|
13
|
+
import { AgentTransport } from "../transport/transport";
|
|
14
|
+
import { LiteEvent } from "../utils/lite-event";
|
|
15
|
+
import { CredentialFlow } from "./models/credentia-flow";
|
|
16
|
+
import { VCCreateKeyRequest } from "./models/vc-create-key-request";
|
|
17
|
+
import { ActorRole, VCProtocol } from "./protocols/vc-protocol";
|
|
18
|
+
import { IStatusListAgentPlugin } from "../plugins/istatus-list-plugin";
|
|
19
|
+
import { CredentialDisplay, IssuerData, VerifiableCredentialWithInfo } from "./protocols/waci-protocol";
|
|
20
|
+
import { VCExportParams, VCShareBehavior } from "../data-share-behaviours/vcs/vc-share-behavior";
|
|
21
|
+
export declare class VC {
|
|
22
|
+
private transports;
|
|
23
|
+
private kms;
|
|
24
|
+
private resolver;
|
|
25
|
+
private identity;
|
|
26
|
+
private agentStorage;
|
|
27
|
+
private vcStorage;
|
|
28
|
+
private vcProtocols;
|
|
29
|
+
private verificationRules;
|
|
30
|
+
private readonly onCredentialArrived;
|
|
31
|
+
get credentialArrived(): import("../utils/lite-event").ILiteEvent<{
|
|
32
|
+
credentials: VerifiableCredentialWithInfo[];
|
|
33
|
+
issuer: IssuerData;
|
|
34
|
+
messageId: string;
|
|
35
|
+
}>;
|
|
36
|
+
private readonly onCredentialPresented;
|
|
37
|
+
get credentialPresented(): import("../utils/lite-event").ILiteEvent<{
|
|
38
|
+
vcVerified: boolean;
|
|
39
|
+
presentationVerified: boolean;
|
|
40
|
+
vc: VerifiableCredential<any>;
|
|
41
|
+
}>;
|
|
42
|
+
protected readonly onPresentationVerified: LiteEvent<{
|
|
43
|
+
verified: boolean;
|
|
44
|
+
vcs: VerifiableCredential[];
|
|
45
|
+
thid: string;
|
|
46
|
+
messageId: string;
|
|
47
|
+
}>;
|
|
48
|
+
get presentationVerified(): import("../utils/lite-event").ILiteEvent<{
|
|
49
|
+
verified: boolean;
|
|
50
|
+
vcs: VerifiableCredential<any>[];
|
|
51
|
+
thid: string;
|
|
52
|
+
messageId: string;
|
|
53
|
+
}>;
|
|
54
|
+
private readonly onCredentialIssued;
|
|
55
|
+
get credentialIssued(): import("../utils/lite-event").ILiteEvent<{
|
|
56
|
+
vc: VerifiableCredential<any>;
|
|
57
|
+
to: DID;
|
|
58
|
+
invitationId?: string;
|
|
59
|
+
}>;
|
|
60
|
+
protected readonly onAckCompleted: LiteEvent<{
|
|
61
|
+
role: ActorRole;
|
|
62
|
+
status: string;
|
|
63
|
+
messageId: string;
|
|
64
|
+
thid: any;
|
|
65
|
+
invitationId?: string;
|
|
66
|
+
}>;
|
|
67
|
+
get ackCompleted(): import("../utils/lite-event").ILiteEvent<{
|
|
68
|
+
role: ActorRole;
|
|
69
|
+
status: string;
|
|
70
|
+
messageId: string;
|
|
71
|
+
thid: any;
|
|
72
|
+
invitationId?: string;
|
|
73
|
+
}>;
|
|
74
|
+
protected readonly onProblemReport: LiteEvent<{
|
|
75
|
+
did: DID;
|
|
76
|
+
code: string;
|
|
77
|
+
invitationId: string;
|
|
78
|
+
messageId: string;
|
|
79
|
+
}>;
|
|
80
|
+
get problemReport(): import("../utils/lite-event").ILiteEvent<{
|
|
81
|
+
did: DID;
|
|
82
|
+
code: string;
|
|
83
|
+
invitationId: string;
|
|
84
|
+
messageId: string;
|
|
85
|
+
}>;
|
|
86
|
+
protected readonly onBeforeSigningVC: LiteEvent<{
|
|
87
|
+
vc: VerifiableCredential;
|
|
88
|
+
issuerDID: DID;
|
|
89
|
+
}>;
|
|
90
|
+
get beforeSigningVC(): import("../utils/lite-event").ILiteEvent<{
|
|
91
|
+
vc: VerifiableCredential<any>;
|
|
92
|
+
issuerDID: DID;
|
|
93
|
+
}>;
|
|
94
|
+
protected readonly onBeforeSaveVC: LiteEvent<{
|
|
95
|
+
vc: VerifiableCredential;
|
|
96
|
+
}>;
|
|
97
|
+
get beforeSaveVC(): import("../utils/lite-event").ILiteEvent<{
|
|
98
|
+
vc: VerifiableCredential<any>;
|
|
99
|
+
}>;
|
|
100
|
+
protected readonly onAfterSaveVC: LiteEvent<{
|
|
101
|
+
vc: VerifiableCredential;
|
|
102
|
+
}>;
|
|
103
|
+
get afterSaveVC(): import("../utils/lite-event").ILiteEvent<{
|
|
104
|
+
vc: VerifiableCredential<any>;
|
|
105
|
+
}>;
|
|
106
|
+
protected readonly onBeforeVerifyVC: LiteEvent<{
|
|
107
|
+
vc: VerifiableCredential;
|
|
108
|
+
}>;
|
|
109
|
+
get beforeVerifyVC(): import("../utils/lite-event").ILiteEvent<{
|
|
110
|
+
vc: VerifiableCredential<any>;
|
|
111
|
+
}>;
|
|
112
|
+
protected readonly onAfterVerifyVC: LiteEvent<{
|
|
113
|
+
vc: VerifiableCredential;
|
|
114
|
+
verifierDID: DID;
|
|
115
|
+
result: boolean;
|
|
116
|
+
}>;
|
|
117
|
+
get afterVerifyVC(): import("../utils/lite-event").ILiteEvent<{
|
|
118
|
+
vc: VerifiableCredential<any>;
|
|
119
|
+
verifierDID: DID;
|
|
120
|
+
result: boolean;
|
|
121
|
+
}>;
|
|
122
|
+
protected credentialStatusPlugins: IStatusListAgentPlugin[];
|
|
123
|
+
constructor(opts: {
|
|
124
|
+
transports: AgentTransport;
|
|
125
|
+
vcProtocols: VCProtocol[];
|
|
126
|
+
kms: IKMS;
|
|
127
|
+
resolver: IAgentResolver;
|
|
128
|
+
identity: AgentIdentity;
|
|
129
|
+
agentStorage: IStorage;
|
|
130
|
+
vcStorage: IStorage;
|
|
131
|
+
messaging: Messaging;
|
|
132
|
+
verificationRules: ((vc: VerifiableCredential) => Promise<{
|
|
133
|
+
result: boolean;
|
|
134
|
+
rejectDetail?: {
|
|
135
|
+
name: string;
|
|
136
|
+
description: string;
|
|
137
|
+
code: number;
|
|
138
|
+
};
|
|
139
|
+
}>)[];
|
|
140
|
+
});
|
|
141
|
+
addCredentialStatusStrategy(credentialStatusStrategy: IStatusListAgentPlugin): void;
|
|
142
|
+
saveCredential(vc: VerifiableCredential): Promise<void>;
|
|
143
|
+
saveCredentialWithInfo(vc: VerifiableCredential, params?: {
|
|
144
|
+
styles: CredentialManifestStyles;
|
|
145
|
+
display: CredentialDisplay;
|
|
146
|
+
}): Promise<void>;
|
|
147
|
+
removeCredential(id: string): Promise<void>;
|
|
148
|
+
getVerifiableCredentials(): Promise<VerifiableCredential[]>;
|
|
149
|
+
getVerifiableCredentialsWithInfo(): Promise<{
|
|
150
|
+
data: VerifiableCredential;
|
|
151
|
+
styles: CredentialManifestStyles;
|
|
152
|
+
display: CredentialDisplay;
|
|
153
|
+
}[]>;
|
|
154
|
+
getVerifiableCredentialsByType(types: string[]): Promise<VerifiableCredential[]>;
|
|
155
|
+
createKey(params: VCCreateKeyRequest): Promise<AgentPublicKey>;
|
|
156
|
+
getKeys(): Promise<AgentPublicKey[]>;
|
|
157
|
+
getKey(jwk: IJWK): Promise<AgentPublicKey>;
|
|
158
|
+
signVC<VCType = any>(opts: {
|
|
159
|
+
credential: VerifiableCredential;
|
|
160
|
+
publicKey?: IJWK;
|
|
161
|
+
purpose?: Purpose;
|
|
162
|
+
did?: DID;
|
|
163
|
+
}): Promise<VerifiableCredential<VCType>>;
|
|
164
|
+
signPresentation(params: {
|
|
165
|
+
contentToSign: string;
|
|
166
|
+
challenge: string;
|
|
167
|
+
domain: string;
|
|
168
|
+
publicKey?: IJWK;
|
|
169
|
+
purpose?: Purpose;
|
|
170
|
+
did?: DID;
|
|
171
|
+
}): Promise<any>;
|
|
172
|
+
sendVC(params: {
|
|
173
|
+
vc: VerifiableCredential;
|
|
174
|
+
to: DID;
|
|
175
|
+
preferredTransportClassRef?: new (params: any) => ITransport;
|
|
176
|
+
}): Promise<void>;
|
|
177
|
+
verifyVC(params: {
|
|
178
|
+
vc: VerifiableCredential;
|
|
179
|
+
purpose?: Purpose;
|
|
180
|
+
}): Promise<{
|
|
181
|
+
result: boolean;
|
|
182
|
+
error?: VCSuiteError;
|
|
183
|
+
}>;
|
|
184
|
+
verifyPresentation(params: {
|
|
185
|
+
presentation: any;
|
|
186
|
+
challenge: string;
|
|
187
|
+
}): Promise<{
|
|
188
|
+
result: boolean;
|
|
189
|
+
error?: VCSuiteError;
|
|
190
|
+
}>;
|
|
191
|
+
verifyPresentation(params: {
|
|
192
|
+
presentation: any;
|
|
193
|
+
purpose: Purpose;
|
|
194
|
+
}): Promise<{
|
|
195
|
+
result: boolean;
|
|
196
|
+
error?: VCSuiteError;
|
|
197
|
+
}>;
|
|
198
|
+
createInvitationMessage(args: {
|
|
199
|
+
path?: string;
|
|
200
|
+
flow: CredentialFlow;
|
|
201
|
+
did?: DID;
|
|
202
|
+
}, outParam?: {
|
|
203
|
+
invitationId: string;
|
|
204
|
+
}): Promise<string>;
|
|
205
|
+
presentationProceed(invitationId: string, credentialsToPresent: VerifiableCredential[]): Promise<void>;
|
|
206
|
+
processMessage(params: {
|
|
207
|
+
message: any;
|
|
208
|
+
did?: DID;
|
|
209
|
+
transport?: ITransport;
|
|
210
|
+
contextMessage?: any;
|
|
211
|
+
}): Promise<void>;
|
|
212
|
+
private getValidVerificationMethodSigner;
|
|
213
|
+
deriveVC(params: {
|
|
214
|
+
vc: VerifiableCredential;
|
|
215
|
+
deriveProofFrame: PresentationDefinitionFrame;
|
|
216
|
+
}): Promise<VerifiableCredential<any>>;
|
|
217
|
+
exportCredentials<T extends VCExportParams>(params: {
|
|
218
|
+
did: DID;
|
|
219
|
+
behavior: VCShareBehavior<T>;
|
|
220
|
+
}): Promise<T>;
|
|
221
|
+
importCredentials<T extends VCExportParams>(params: {
|
|
222
|
+
exportParams: T;
|
|
223
|
+
behavior: VCShareBehavior<T>;
|
|
224
|
+
}): Promise<void>;
|
|
225
|
+
}
|
package/dist/vc/vc.js
ADDED
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VC = void 0;
|
|
4
|
+
const did_core_1 = require("@extrimian/did-core");
|
|
5
|
+
const kms_core_1 = require("@extrimian/kms-core");
|
|
6
|
+
const vc_verifier_1 = require("@extrimian/vc-verifier");
|
|
7
|
+
const base_64_1 = require("base-64");
|
|
8
|
+
const vc_protocol_not_found_1 = require("../exceptions/vc-protocol-not-found");
|
|
9
|
+
const agent_pbk_1 = require("../models/agent-pbk");
|
|
10
|
+
const did_1 = require("../models/did");
|
|
11
|
+
const dwn_transport_1 = require("../models/transports/dwn-transport");
|
|
12
|
+
const lite_event_1 = require("../utils/lite-event");
|
|
13
|
+
class VC {
|
|
14
|
+
get credentialArrived() { return this.onCredentialArrived.expose(); }
|
|
15
|
+
get credentialPresented() { return this.onCredentialPresented.expose(); }
|
|
16
|
+
get presentationVerified() { return this.onPresentationVerified.expose(); }
|
|
17
|
+
get credentialIssued() { return this.onCredentialIssued.expose(); }
|
|
18
|
+
get ackCompleted() { return this.onAckCompleted.expose(); }
|
|
19
|
+
get problemReport() { return this.onProblemReport.expose(); }
|
|
20
|
+
;
|
|
21
|
+
get beforeSigningVC() { return this.onBeforeSigningVC.expose(); }
|
|
22
|
+
;
|
|
23
|
+
get beforeSaveVC() { return this.onBeforeSaveVC.expose(); }
|
|
24
|
+
;
|
|
25
|
+
get afterSaveVC() { return this.onAfterSaveVC.expose(); }
|
|
26
|
+
;
|
|
27
|
+
get beforeVerifyVC() { return this.onBeforeVerifyVC.expose(); }
|
|
28
|
+
;
|
|
29
|
+
get afterVerifyVC() { return this.onAfterVerifyVC.expose(); }
|
|
30
|
+
;
|
|
31
|
+
constructor(opts) {
|
|
32
|
+
this.verificationRules = [];
|
|
33
|
+
this.onCredentialArrived = new lite_event_1.LiteEvent();
|
|
34
|
+
this.onCredentialPresented = new lite_event_1.LiteEvent();
|
|
35
|
+
this.onPresentationVerified = new lite_event_1.LiteEvent;
|
|
36
|
+
this.onCredentialIssued = new lite_event_1.LiteEvent();
|
|
37
|
+
this.onAckCompleted = new lite_event_1.LiteEvent;
|
|
38
|
+
this.onProblemReport = new lite_event_1.LiteEvent;
|
|
39
|
+
this.onBeforeSigningVC = new lite_event_1.LiteEvent;
|
|
40
|
+
this.onBeforeSaveVC = new lite_event_1.LiteEvent;
|
|
41
|
+
this.onAfterSaveVC = new lite_event_1.LiteEvent;
|
|
42
|
+
this.onBeforeVerifyVC = new lite_event_1.LiteEvent;
|
|
43
|
+
this.onAfterVerifyVC = new lite_event_1.LiteEvent;
|
|
44
|
+
this.credentialStatusPlugins = new Array();
|
|
45
|
+
this.transports = opts.transports;
|
|
46
|
+
this.kms = opts.kms;
|
|
47
|
+
this.resolver = opts.resolver;
|
|
48
|
+
this.identity = opts.identity;
|
|
49
|
+
this.agentStorage = opts.agentStorage;
|
|
50
|
+
this.vcProtocols = opts.vcProtocols;
|
|
51
|
+
this.vcProtocols.forEach((protocol) => {
|
|
52
|
+
protocol.vcArrived.on((data) => {
|
|
53
|
+
this.onCredentialArrived.trigger(data);
|
|
54
|
+
});
|
|
55
|
+
protocol.vcVerified.on((data) => this.onCredentialPresented.trigger({
|
|
56
|
+
vcVerified: data.verified,
|
|
57
|
+
presentationVerified: data.presentationVerified,
|
|
58
|
+
vc: data.vc,
|
|
59
|
+
}));
|
|
60
|
+
protocol.presentationVerified.on((data) => this.onPresentationVerified.trigger({
|
|
61
|
+
messageId: data.messageId,
|
|
62
|
+
thid: data.thid,
|
|
63
|
+
vcs: data.vcs,
|
|
64
|
+
verified: data.verified
|
|
65
|
+
}));
|
|
66
|
+
protocol.credentialIssued.on((data) => this.onCredentialIssued.trigger({
|
|
67
|
+
to: data.toDID,
|
|
68
|
+
vc: data.vc,
|
|
69
|
+
invitationId: data.invitationId
|
|
70
|
+
}));
|
|
71
|
+
protocol.ackCompleted.on(data => { this.onAckCompleted.trigger(data); });
|
|
72
|
+
protocol.problemReport.on(data => this.onProblemReport.trigger(data));
|
|
73
|
+
});
|
|
74
|
+
this.vcStorage = opts.vcStorage;
|
|
75
|
+
this.verificationRules = opts.verificationRules;
|
|
76
|
+
}
|
|
77
|
+
addCredentialStatusStrategy(credentialStatusStrategy) {
|
|
78
|
+
this.credentialStatusPlugins.push(credentialStatusStrategy);
|
|
79
|
+
}
|
|
80
|
+
async saveCredential(vc) {
|
|
81
|
+
this.onBeforeSaveVC.trigger({ vc: vc });
|
|
82
|
+
await this.vcStorage.add(vc.id, vc);
|
|
83
|
+
this.onAfterSaveVC.trigger({ vc: vc });
|
|
84
|
+
}
|
|
85
|
+
async saveCredentialWithInfo(vc, params) {
|
|
86
|
+
await this.onBeforeSaveVC.trigger({ vc: vc });
|
|
87
|
+
await this.vcStorage.add(vc.id, { data: vc, styles: params.styles, display: params.display });
|
|
88
|
+
await this.onAfterSaveVC.trigger({ vc: vc });
|
|
89
|
+
}
|
|
90
|
+
async removeCredential(id) {
|
|
91
|
+
await this.vcStorage.remove(id);
|
|
92
|
+
}
|
|
93
|
+
async getVerifiableCredentials() {
|
|
94
|
+
return Array.from((await this.vcStorage.getAll()).values());
|
|
95
|
+
}
|
|
96
|
+
async getVerifiableCredentialsWithInfo() {
|
|
97
|
+
return Array.from((await this.vcStorage.getAll()).values());
|
|
98
|
+
}
|
|
99
|
+
async getVerifiableCredentialsByType(types) {
|
|
100
|
+
return (await this.getVerifiableCredentials()).filter(x => !x.type.some(y => types.some(z => z != y)));
|
|
101
|
+
}
|
|
102
|
+
async createKey(params) {
|
|
103
|
+
const publicKey = await this.kms.create(kms_core_1.Suite.Bbsbls2020);
|
|
104
|
+
const agentPbk = new agent_pbk_1.AgentPublicKey({
|
|
105
|
+
name: params.name,
|
|
106
|
+
description: params.description,
|
|
107
|
+
publicKeyJWK: publicKey.publicKeyJWK,
|
|
108
|
+
});
|
|
109
|
+
this.agentStorage.add(kms_core_1.BaseConverter.convert(publicKey.publicKeyJWK, kms_core_1.Base.JWK, kms_core_1.Base.Hex), agentPbk);
|
|
110
|
+
return agentPbk;
|
|
111
|
+
}
|
|
112
|
+
async getKeys() {
|
|
113
|
+
const bbsblsKeys = await this.kms.getPublicKeysBySuiteType(kms_core_1.Suite.Bbsbls2020);
|
|
114
|
+
const keys = new Array();
|
|
115
|
+
for (let key in bbsblsKeys) {
|
|
116
|
+
const apbk = new agent_pbk_1.AgentPublicKey(await this.agentStorage.get(kms_core_1.BaseConverter.convert(bbsblsKeys[key], kms_core_1.Base.JWK, kms_core_1.Base.Hex)));
|
|
117
|
+
keys.push(apbk);
|
|
118
|
+
}
|
|
119
|
+
return keys;
|
|
120
|
+
}
|
|
121
|
+
async getKey(jwk) {
|
|
122
|
+
const bbsblsKeys = await this.getKeys();
|
|
123
|
+
const searchedKey = bbsblsKeys.find(key => key.publicKeyJWK.crv == jwk.crv &&
|
|
124
|
+
key.publicKeyJWK.kty == jwk.kty &&
|
|
125
|
+
key.publicKeyJWK.x == jwk.x &&
|
|
126
|
+
key.publicKeyJWK.y == jwk.y);
|
|
127
|
+
if (!searchedKey)
|
|
128
|
+
throw new Error(`Key ${JSON.stringify(jwk)} not found in KMS`);
|
|
129
|
+
return searchedKey;
|
|
130
|
+
}
|
|
131
|
+
async signVC(opts) {
|
|
132
|
+
let publicKeys;
|
|
133
|
+
if (!opts.publicKey) {
|
|
134
|
+
const bbsblsKeys = await this.kms.getPublicKeysBySuiteType(kms_core_1.Suite.Bbsbls2020);
|
|
135
|
+
if (bbsblsKeys.length == 0) {
|
|
136
|
+
throw new Error("KMS doesn't contains keys for bbsbls2020. You need to create this kind of keys to sign verifiable credentials");
|
|
137
|
+
}
|
|
138
|
+
publicKeys = bbsblsKeys;
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
publicKeys = [opts.publicKey];
|
|
142
|
+
}
|
|
143
|
+
const didDocument = await this.resolver.resolve(opts.did || this.identity.getOperationalDID());
|
|
144
|
+
const validPublicKeys = didDocument.verificationMethod.filter(x => x.type == "Bls12381G1Key2020");
|
|
145
|
+
//Comienzo a comparar las claves que estan en el DID Document con las que tiene el KMS hasta encontrar un match
|
|
146
|
+
const firstValidPbk = validPublicKeys.find(didDocKey => publicKeys.some(kmsKey => didDocKey.publicKeyJwk.x == kmsKey.x &&
|
|
147
|
+
didDocKey.publicKeyJwk.y == kmsKey.y));
|
|
148
|
+
// Si el DID Document no contiene la clave, el agente no debería firmar ya que hay un error.
|
|
149
|
+
if (!firstValidPbk) {
|
|
150
|
+
throw Error("There aren't public keys valid to use based on Issuer DID Document and KMS secrets");
|
|
151
|
+
}
|
|
152
|
+
await this.onBeforeSigningVC.trigger({ vc: opts.credential, issuerDID: opts.did });
|
|
153
|
+
for (let csPlugin of this.credentialStatusPlugins) {
|
|
154
|
+
if (await csPlugin.canHandle({ vc: opts.credential, issuerDID: opts.did })) {
|
|
155
|
+
await csPlugin.handle({ vc: opts.credential, issuerDID: opts.did });
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
// Si contiene la clave, se procede a la firma
|
|
160
|
+
const vc = await this.kms.signVC(kms_core_1.Suite.Bbsbls2020, firstValidPbk.publicKeyJwk, opts.credential, (opts.did || this.identity.getOperationalDID()).value, (opts.did || this.identity.getOperationalDID()).value + firstValidPbk.id, opts.purpose || new did_core_1.AssertionMethodPurpose());
|
|
161
|
+
return vc;
|
|
162
|
+
}
|
|
163
|
+
async signPresentation(params) {
|
|
164
|
+
const verificationMethod = await this.getValidVerificationMethodSigner({
|
|
165
|
+
suiteType: kms_core_1.Suite.RsaSignature2018,
|
|
166
|
+
publicKey: params.publicKey,
|
|
167
|
+
did: params.did || this.identity.getOperationalDID()
|
|
168
|
+
});
|
|
169
|
+
const signature = await this.kms.signVCPresentation({
|
|
170
|
+
did: (params.did || this.identity.getOperationalDID()).value,
|
|
171
|
+
presentationObject: params.contentToSign,
|
|
172
|
+
publicKeyJWK: verificationMethod.publicKeyJwk,
|
|
173
|
+
purpose: params.purpose || new did_core_1.AuthenticationPurpose({ challenge: params.challenge }),
|
|
174
|
+
verificationMethodId: (params.did || this.identity.getOperationalDID()).value + verificationMethod.id
|
|
175
|
+
});
|
|
176
|
+
return signature;
|
|
177
|
+
}
|
|
178
|
+
async sendVC(params) {
|
|
179
|
+
if (params.preferredTransportClassRef) {
|
|
180
|
+
params.preferredTransportClassRef = dwn_transport_1.DWNTransport;
|
|
181
|
+
}
|
|
182
|
+
await this.transports.sendMessage({
|
|
183
|
+
to: params.to,
|
|
184
|
+
message: JSON.stringify(params.vc),
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
async verifyVC(params) {
|
|
188
|
+
var _a;
|
|
189
|
+
const vcService = new vc_verifier_1.VCVerifierService({
|
|
190
|
+
didDocumentResolver: (did) => this.resolver.resolve(did_1.DID.from(did)),
|
|
191
|
+
});
|
|
192
|
+
const result = await vcService.verify(params.vc, params.purpose || new did_core_1.AssertionMethodPurpose());
|
|
193
|
+
if (result.result) {
|
|
194
|
+
for (let f of this.verificationRules) {
|
|
195
|
+
const r = await f(params.vc);
|
|
196
|
+
if (!r.result) {
|
|
197
|
+
return {
|
|
198
|
+
result: false,
|
|
199
|
+
error: {
|
|
200
|
+
code: (_a = r.rejectDetail) === null || _a === void 0 ? void 0 : _a.code,
|
|
201
|
+
description: r.rejectDetail.description,
|
|
202
|
+
name: r.rejectDetail.name
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
return result;
|
|
209
|
+
}
|
|
210
|
+
async verifyPresentation(params) {
|
|
211
|
+
if (!params.challenge && !params.purpose) {
|
|
212
|
+
throw new Error("Challenge or purpose are required for verifyPresentation");
|
|
213
|
+
}
|
|
214
|
+
const vcService = new vc_verifier_1.VCVerifierService({
|
|
215
|
+
didDocumentResolver: (did) => this.resolver.resolve(did_1.DID.from(did)),
|
|
216
|
+
});
|
|
217
|
+
const result = await vcService.verify(params.presentation, params.purpose || new did_core_1.AuthenticationPurpose({ challenge: params.challenge }));
|
|
218
|
+
return result;
|
|
219
|
+
}
|
|
220
|
+
async createInvitationMessage(args, outParam) {
|
|
221
|
+
if (!args.path)
|
|
222
|
+
args.path = "didcomm";
|
|
223
|
+
const oobMessage = await this.vcProtocols[0].createInvitationMessage(args.flow, args.did || this.identity.getOperationalDID());
|
|
224
|
+
const oob = (0, base_64_1.encode)(JSON.stringify(oobMessage));
|
|
225
|
+
if (outParam)
|
|
226
|
+
outParam.invitationId = oobMessage.id;
|
|
227
|
+
return `${args.path}://?_oob=${oob}`;
|
|
228
|
+
}
|
|
229
|
+
async presentationProceed(invitationId, credentialsToPresent) {
|
|
230
|
+
const response = await this.vcProtocols[0].presentationProceed(invitationId, credentialsToPresent);
|
|
231
|
+
if (response) {
|
|
232
|
+
await this.transports.sendMessage({
|
|
233
|
+
message: response.message,
|
|
234
|
+
to: response.to,
|
|
235
|
+
from: response.from,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
// let messages = await this.storage.get<WACIMessage[]>(invitationId);
|
|
239
|
+
// await this.waciInterpreter.presentationProceed(messages, credentialsToPresent);
|
|
240
|
+
}
|
|
241
|
+
async processMessage(params) {
|
|
242
|
+
const promises = this.vcProtocols.map(async (x) => await x.isProtocolMessage(params.message));
|
|
243
|
+
const results = await Promise.all(promises);
|
|
244
|
+
const vcProtocol = this.vcProtocols[results.indexOf(true)];
|
|
245
|
+
if (!vcProtocol) {
|
|
246
|
+
throw new vc_protocol_not_found_1.VCProtocolNotFoundError();
|
|
247
|
+
}
|
|
248
|
+
const response = await vcProtocol.processMessage(params.message, params.contextMessage, params.did);
|
|
249
|
+
if (!params.did) {
|
|
250
|
+
if (typeof params.message === "string") {
|
|
251
|
+
const oobMessage = params.message.substring(params.message.indexOf("_oob=") + 5);
|
|
252
|
+
const decodedMessage = JSON.parse((0, base_64_1.decode)(oobMessage));
|
|
253
|
+
params.did = decodedMessage.to ? did_1.DID.from(decodedMessage.to) : this.identity.getOperationalDID();
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
if (!params.message.to || params.message.to.length == 0) {
|
|
257
|
+
params.did = this.identity.getOperationalDID();
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
const did = this.identity.getDIDs().find(x => params.message.to.some(y => y == x));
|
|
261
|
+
params.did = did ? did_1.DID.from(did) : null;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
if (response) {
|
|
266
|
+
await this.transports.sendMessage({
|
|
267
|
+
message: response.message,
|
|
268
|
+
to: response.to,
|
|
269
|
+
from: params.did,
|
|
270
|
+
messageContext: params.contextMessage,
|
|
271
|
+
preferredTransport: params.transport
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
async getValidVerificationMethodSigner(params) {
|
|
276
|
+
let publicKeys;
|
|
277
|
+
if (!params.publicKey) {
|
|
278
|
+
const bbsblsKeys = await this.kms.getPublicKeysBySuiteType(params.suiteType);
|
|
279
|
+
if (bbsblsKeys.length == 0) {
|
|
280
|
+
throw new Error("KMS doesn't contains keys for bbsbls2020. You need to create this kind of keys to sign verifiable credentials");
|
|
281
|
+
}
|
|
282
|
+
publicKeys = bbsblsKeys;
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
publicKeys = [params.publicKey];
|
|
286
|
+
}
|
|
287
|
+
const didDocument = await this.resolver.resolve(params.did);
|
|
288
|
+
const validPublicKeys = didDocument.verificationMethod.filter(x => x.type == (0, kms_core_1.getTypeBySuite)(params.suiteType));
|
|
289
|
+
//Comienzo a comparar las claves que estan en el DID Document con las que tiene el KMS hasta encontrar un match
|
|
290
|
+
const firstValidPbk = validPublicKeys.find(didDocKey => {
|
|
291
|
+
const jKey = JSON.stringify(didDocKey.publicKeyJwk);
|
|
292
|
+
return publicKeys.some(kmsKey => JSON.stringify(kmsKey) === jKey);
|
|
293
|
+
});
|
|
294
|
+
// Si el DID Document no contiene la clave, el agente no debería firmar ya que hay un error.
|
|
295
|
+
if (!firstValidPbk) {
|
|
296
|
+
throw Error("There aren't public keys valid to use based on Issuer DID Document and KMS secrets");
|
|
297
|
+
}
|
|
298
|
+
return firstValidPbk;
|
|
299
|
+
}
|
|
300
|
+
async deriveVC(params) {
|
|
301
|
+
if (!params.vc)
|
|
302
|
+
throw new Error("params.vc is required for deriveVC");
|
|
303
|
+
if (!params.deriveProofFrame)
|
|
304
|
+
throw new Error("params.deriveProofFrame is required for deriveVC");
|
|
305
|
+
const derivedVc = this.kms.deriveVC({
|
|
306
|
+
frame: params.deriveProofFrame,
|
|
307
|
+
vc: params.vc
|
|
308
|
+
});
|
|
309
|
+
return derivedVc;
|
|
310
|
+
}
|
|
311
|
+
async exportCredentials(params) {
|
|
312
|
+
const vcs = await this.getVerifiableCredentialsWithInfo();
|
|
313
|
+
if (vcs.length == 0) {
|
|
314
|
+
throw new Error(`DID ${params.did} does not have verifiable credentials for export.`);
|
|
315
|
+
}
|
|
316
|
+
return await params.behavior.export({ did: params.did, vcs: vcs.filter(x => x.data.credentialSubject.id == params.did.value) });
|
|
317
|
+
}
|
|
318
|
+
async importCredentials(params) {
|
|
319
|
+
const vcs = await params.behavior.import(params.exportParams);
|
|
320
|
+
if (vcs.length == 0) {
|
|
321
|
+
throw new Error(`The import file does not contain any credentials to import.`);
|
|
322
|
+
}
|
|
323
|
+
for (let vc of vcs) {
|
|
324
|
+
await this.saveCredentialWithInfo(vc.data, { display: vc.display, styles: vc.styles });
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
exports.VC = VC;
|
|
329
|
+
//# sourceMappingURL=vc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vc.js","sourceRoot":"","sources":["../../src/vc/vc.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@extrimian/agent",
|
|
3
|
-
"version": "0.12.0-
|
|
3
|
+
"version": "0.12.0-4",
|
|
4
4
|
"description": "Agent SDK",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@extrimian/did-resolver": "^1.4.1",
|
|
38
38
|
"@extrimian/dwn-client": "^1.2.0",
|
|
39
39
|
"@extrimian/dwn-client-ami": "^1.0.1",
|
|
40
|
-
"@extrimian/kms-client": "1.5.0",
|
|
40
|
+
"@extrimian/kms-client": "1.5.1-0",
|
|
41
41
|
"@extrimian/kms-core": "1.5.0",
|
|
42
42
|
"@extrimian/modena-sdk": "1.4.0-0",
|
|
43
43
|
"@extrimian/vc-core": "1.1.0-0",
|