@credo-ts/didcomm 0.6.0-pr-2195-20250322195244 → 0.6.0-pr-2324-20250625125220
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/DidCommModule.js +0 -1
- package/build/DidCommModule.js.map +1 -1
- package/build/DidCommModuleConfig.d.ts +8 -0
- package/build/DidCommModuleConfig.js +9 -0
- package/build/DidCommModuleConfig.js.map +1 -1
- package/build/EnvelopeService.d.ts +13 -8
- package/build/EnvelopeService.js +281 -21
- package/build/EnvelopeService.js.map +1 -1
- package/build/MessageSender.d.ts +4 -6
- package/build/MessageSender.js +60 -70
- package/build/MessageSender.js.map +1 -1
- package/build/decorators/service/ServiceDecorator.js +4 -4
- package/build/decorators/service/ServiceDecorator.js.map +1 -1
- package/build/decorators/signature/SignatureDecoratorUtils.d.ts +5 -4
- package/build/decorators/signature/SignatureDecoratorUtils.js +22 -12
- package/build/decorators/signature/SignatureDecoratorUtils.js.map +1 -1
- package/build/getOutboundMessageContext.js +30 -5
- package/build/getOutboundMessageContext.js.map +1 -1
- package/build/models/InboundMessageContext.d.ts +5 -5
- package/build/models/OutboundMessageContext.d.ts +2 -2
- package/build/models/Routing.d.ts +3 -3
- package/build/modules/connections/ConnectionsApi.js +6 -5
- package/build/modules/connections/ConnectionsApi.js.map +1 -1
- package/build/modules/connections/DidExchangeProtocol.d.ts +3 -1
- package/build/modules/connections/DidExchangeProtocol.js +95 -57
- package/build/modules/connections/DidExchangeProtocol.js.map +1 -1
- package/build/modules/connections/handlers/ConnectionRequestHandler.js +7 -0
- package/build/modules/connections/handlers/ConnectionRequestHandler.js.map +1 -1
- package/build/modules/connections/handlers/ConnectionResponseHandler.js +4 -0
- package/build/modules/connections/handlers/ConnectionResponseHandler.js.map +1 -1
- package/build/modules/connections/handlers/DidExchangeCompleteHandler.js +0 -4
- package/build/modules/connections/handlers/DidExchangeCompleteHandler.js.map +1 -1
- package/build/modules/connections/handlers/DidExchangeRequestHandler.js +3 -0
- package/build/modules/connections/handlers/DidExchangeRequestHandler.js.map +1 -1
- package/build/modules/connections/handlers/DidExchangeResponseHandler.js +3 -3
- package/build/modules/connections/handlers/DidExchangeResponseHandler.js.map +1 -1
- package/build/modules/connections/messages/ConnectionInvitationMessage.d.ts +2 -1
- package/build/modules/connections/messages/ConnectionInvitationMessage.js.map +1 -1
- package/build/modules/connections/models/did/DidDoc.js +2 -2
- package/build/modules/connections/models/did/DidDoc.js.map +1 -1
- package/build/modules/connections/repository/ConnectionRecord.d.ts +2 -0
- package/build/modules/connections/repository/ConnectionRecord.js +2 -0
- package/build/modules/connections/repository/ConnectionRecord.js.map +1 -1
- package/build/modules/connections/repository/ConnectionRepository.d.ts +1 -1
- package/build/modules/connections/repository/ConnectionRepository.js +2 -0
- package/build/modules/connections/repository/ConnectionRepository.js.map +1 -1
- package/build/modules/connections/services/ConnectionService.d.ts +4 -4
- package/build/modules/connections/services/ConnectionService.js +92 -41
- package/build/modules/connections/services/ConnectionService.js.map +1 -1
- package/build/modules/connections/services/DidRotateService.js +9 -10
- package/build/modules/connections/services/DidRotateService.js.map +1 -1
- package/build/modules/connections/services/helpers.d.ts +20 -6
- package/build/modules/connections/services/helpers.js +46 -29
- package/build/modules/connections/services/helpers.js.map +1 -1
- package/build/modules/credentials/models/RevocationNotification.js +14 -0
- package/build/modules/credentials/models/RevocationNotification.js.map +1 -1
- package/build/modules/credentials/protocol/index.js +17 -7
- package/build/modules/credentials/protocol/index.js.map +1 -1
- package/build/modules/credentials/repository/CredentialExchangeRecord.d.ts +1 -1
- package/build/modules/credentials/repository/CredentialExchangeRecord.js +5 -0
- package/build/modules/credentials/repository/CredentialExchangeRecord.js.map +1 -1
- package/build/modules/message-pickup/MessagePickupApi.js +7 -2
- package/build/modules/message-pickup/MessagePickupApi.js.map +1 -1
- package/build/modules/message-pickup/MessagePickupApiOptions.d.ts +1 -1
- package/build/modules/message-pickup/MessagePickupModule.d.ts +1 -0
- package/build/modules/message-pickup/MessagePickupModule.js +6 -11
- package/build/modules/message-pickup/MessagePickupModule.js.map +1 -1
- package/build/modules/message-pickup/MessagePickupModuleConfig.d.ts +0 -8
- package/build/modules/message-pickup/MessagePickupModuleConfig.js +0 -4
- package/build/modules/message-pickup/MessagePickupModuleConfig.js.map +1 -1
- package/build/modules/message-pickup/index.d.ts +0 -1
- package/build/modules/message-pickup/index.js +0 -1
- package/build/modules/message-pickup/index.js.map +1 -1
- package/build/modules/message-pickup/protocol/MessagePickupProtocolOptions.d.ts +1 -1
- package/build/modules/message-pickup/protocol/v1/V1MessagePickupProtocol.js +6 -5
- package/build/modules/message-pickup/protocol/v1/V1MessagePickupProtocol.js.map +1 -1
- package/build/modules/message-pickup/protocol/v2/V2MessagePickupProtocol.js +22 -13
- package/build/modules/message-pickup/protocol/v2/V2MessagePickupProtocol.js.map +1 -1
- package/build/modules/oob/OutOfBandApi.js +21 -8
- package/build/modules/oob/OutOfBandApi.js.map +1 -1
- package/build/modules/oob/OutOfBandService.d.ts +9 -5
- package/build/modules/oob/OutOfBandService.js +7 -2
- package/build/modules/oob/OutOfBandService.js.map +1 -1
- package/build/modules/oob/converters.js +2 -4
- package/build/modules/oob/converters.js.map +1 -1
- package/build/modules/oob/domain/OutOfBandDidCommService.js +14 -2
- package/build/modules/oob/domain/OutOfBandDidCommService.js.map +1 -1
- package/build/modules/oob/helpers.js +6 -6
- package/build/modules/oob/helpers.js.map +1 -1
- package/build/modules/oob/messages/OutOfBandInvitation.js.map +1 -1
- package/build/modules/oob/repository/OutOfBandRecord.d.ts +34 -0
- package/build/modules/oob/repository/OutOfBandRecord.js +1 -0
- package/build/modules/oob/repository/OutOfBandRecord.js.map +1 -1
- package/build/modules/oob/repository/outOfBandRecordMetadataTypes.d.ts +4 -0
- package/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js +7 -4
- package/build/modules/proofs/formats/dif-presentation-exchange/DifPresentationExchangeProofFormatService.js.map +1 -1
- package/build/modules/proofs/formats/index.js +17 -7
- package/build/modules/proofs/formats/index.js.map +1 -1
- package/build/modules/proofs/protocol/index.js +17 -7
- package/build/modules/proofs/protocol/index.js.map +1 -1
- package/build/modules/routing/MediationRecipientApi.d.ts +0 -2
- package/build/modules/routing/MediationRecipientApi.js +1 -46
- package/build/modules/routing/MediationRecipientApi.js.map +1 -1
- package/build/modules/routing/MediationRecipientModule.d.ts +3 -0
- package/build/modules/routing/MediationRecipientModule.js +60 -0
- package/build/modules/routing/MediationRecipientModule.js.map +1 -1
- package/build/modules/routing/MediatorModule.d.ts +1 -0
- package/build/modules/routing/MediatorModule.js +5 -0
- package/build/modules/routing/MediatorModule.js.map +1 -1
- package/build/modules/routing/MediatorModuleConfig.d.ts +2 -2
- package/build/modules/routing/MessageForwardingStrategy.js +2 -2
- package/build/modules/routing/MessageForwardingStrategy.js.map +1 -1
- package/build/modules/routing/repository/MediationRecord.d.ts +8 -0
- package/build/modules/routing/repository/MediationRecord.js +2 -0
- package/build/modules/routing/repository/MediationRecord.js.map +1 -1
- package/build/modules/routing/repository/MediatorRoutingRecord.d.ts +23 -5
- package/build/modules/routing/repository/MediatorRoutingRecord.js +33 -1
- package/build/modules/routing/repository/MediatorRoutingRecord.js.map +1 -1
- package/build/modules/routing/services/MediationRecipientService.d.ts +3 -3
- package/build/modules/routing/services/MediationRecipientService.js +15 -12
- package/build/modules/routing/services/MediationRecipientService.js.map +1 -1
- package/build/modules/routing/services/MediatorService.js +17 -9
- package/build/modules/routing/services/MediatorService.js.map +1 -1
- package/build/modules/routing/services/RoutingService.d.ts +3 -3
- package/build/modules/routing/services/RoutingService.js +4 -3
- package/build/modules/routing/services/RoutingService.js.map +1 -1
- package/build/modules/routing/services/helpers.d.ts +1 -1
- package/build/modules/routing/services/helpers.js +3 -4
- package/build/modules/routing/services/helpers.js.map +1 -1
- package/build/services/DidCommDocumentService.d.ts +8 -3
- package/build/services/DidCommDocumentService.js +46 -15
- package/build/services/DidCommDocumentService.js.map +1 -1
- package/build/transport/HttpOutboundTransport.js +2 -4
- package/build/transport/HttpOutboundTransport.js.map +1 -1
- package/build/transport/index.d.ts +1 -0
- package/build/transport/index.js +1 -0
- package/build/transport/index.js.map +1 -1
- package/build/transport/queue/InMemoryQueueTransportRepository.d.ts +12 -0
- package/build/{modules/message-pickup/storage/InMemoryMessagePickupRepository.js → transport/queue/InMemoryQueueTransportRepository.js} +15 -19
- package/build/transport/queue/InMemoryQueueTransportRepository.js.map +1 -0
- package/build/transport/queue/QueueTransportRepository.d.ts +9 -0
- package/build/{modules/message-pickup/storage/MessagePickupRepository.js → transport/queue/QueueTransportRepository.js} +1 -1
- package/build/transport/queue/QueueTransportRepository.js.map +1 -0
- package/build/{modules/message-pickup/storage/MessagePickupRepositoryOptions.d.ts → transport/queue/QueueTransportRepositoryOptions.d.ts} +2 -1
- package/build/{modules/message-pickup/storage/MessagePickupRepositoryOptions.js → transport/queue/QueueTransportRepositoryOptions.js} +1 -1
- package/build/transport/queue/QueueTransportRepositoryOptions.js.map +1 -0
- package/build/{modules/message-pickup/storage → transport/queue}/QueuedMessage.d.ts +2 -2
- package/build/transport/queue/QueuedMessage.js.map +1 -0
- package/build/transport/queue/index.d.ts +4 -0
- package/build/{modules/message-pickup/storage → transport/queue}/index.js +3 -3
- package/build/transport/queue/index.js.map +1 -0
- package/build/updates/0.1-0.2/connection.js +3 -3
- package/build/updates/0.1-0.2/connection.js.map +1 -1
- package/build/util/modules.d.ts +1 -1
- package/build/util/modules.js +3 -1
- package/build/util/modules.js.map +1 -1
- package/build/util/parseInvitation.js +0 -2
- package/build/util/parseInvitation.js.map +1 -1
- package/package.json +7 -7
- package/build/modules/message-pickup/storage/InMemoryMessagePickupRepository.d.ts +0 -13
- package/build/modules/message-pickup/storage/InMemoryMessagePickupRepository.js.map +0 -1
- package/build/modules/message-pickup/storage/MessagePickupRepository.d.ts +0 -8
- package/build/modules/message-pickup/storage/MessagePickupRepository.js.map +0 -1
- package/build/modules/message-pickup/storage/MessagePickupRepositoryOptions.js.map +0 -1
- package/build/modules/message-pickup/storage/QueuedMessage.js.map +0 -1
- package/build/modules/message-pickup/storage/index.d.ts +0 -4
- package/build/modules/message-pickup/storage/index.js.map +0 -1
- package/build/util/matchingEd25519Key.d.ts +0 -9
- package/build/util/matchingEd25519Key.js +0 -30
- package/build/util/matchingEd25519Key.js.map +0 -1
- /package/build/{modules/message-pickup/storage → transport/queue}/QueuedMessage.js +0 -0
|
@@ -45,6 +45,9 @@ async function getOutboundMessageContext(agentContext, { message, connectionReco
|
|
|
45
45
|
}
|
|
46
46
|
async function getConnectionlessOutboundMessageContext(agentContext, { message, lastReceivedMessage, lastSentMessage, associatedRecord, }) {
|
|
47
47
|
agentContext.config.logger.debug(`Creating outbound message context for message ${message.id} using connection-less exchange`);
|
|
48
|
+
// FIXME: we should remove support for the flow where no out of band record is used.
|
|
49
|
+
// Users have had enough time to update to the OOB API which supports legacy connectionsless
|
|
50
|
+
// invitations as well
|
|
48
51
|
const outOfBandRecord = await getOutOfBandRecordForMessage(agentContext, message);
|
|
49
52
|
let { recipientService, ourService } = await getServicesForMessage(agentContext, {
|
|
50
53
|
lastReceivedMessage,
|
|
@@ -80,7 +83,7 @@ async function getConnectionlessOutboundMessageContext(agentContext, { message,
|
|
|
80
83
|
* Retrieves the out of band record associated with the message based on the thread id of the message.
|
|
81
84
|
*/
|
|
82
85
|
async function getOutOfBandRecordForMessage(agentContext, message) {
|
|
83
|
-
agentContext.config.logger.debug(`Looking for out-of-band record for message ${message.id} with thread id ${message.threadId}`);
|
|
86
|
+
agentContext.config.logger.debug(`Looking for out-of-band record for message ${message.id} with thread id ${message.threadId} and type ${message.type}`);
|
|
84
87
|
const outOfBandRepository = agentContext.dependencyManager.resolve(oob_1.OutOfBandRepository);
|
|
85
88
|
const outOfBandRecord = await outOfBandRepository.findSingleByQuery(agentContext, {
|
|
86
89
|
invitationRequestsThreadIds: [message.threadId],
|
|
@@ -102,7 +105,7 @@ async function getServicesForMessage(agentContext, { lastSentMessage, lastReceiv
|
|
|
102
105
|
if (outOfBandRecord?.role === oob_1.OutOfBandRole.Sender) {
|
|
103
106
|
// Extract ourService from the oob record if not on a previous message
|
|
104
107
|
if (!ourService) {
|
|
105
|
-
ourService = await outOfBandService.getResolvedServiceForOutOfBandServices(agentContext, outOfBandRecord.outOfBandInvitation.getServices());
|
|
108
|
+
ourService = await outOfBandService.getResolvedServiceForOutOfBandServices(agentContext, outOfBandRecord.outOfBandInvitation.getServices(), outOfBandRecord.invitationInlineServiceKeys);
|
|
106
109
|
}
|
|
107
110
|
if (!recipientService) {
|
|
108
111
|
throw new core_1.CredoError('Could not find a service to send the message to. Please make sure the connection has a service or provide a service to send the message to.');
|
|
@@ -120,6 +123,12 @@ async function getServicesForMessage(agentContext, { lastSentMessage, lastReceiv
|
|
|
120
123
|
if (lastSentMessage && !ourService) {
|
|
121
124
|
throw new core_1.CredoError('Could not find a service to send the message to. Please make sure the connection has a service or provide a service to send the message to.');
|
|
122
125
|
}
|
|
126
|
+
// We need to extract the kms key id for the connectinless exchange
|
|
127
|
+
const oobRecordRecipientRouting = outOfBandRecord?.metadata.get(outOfBandRecordMetadataTypes_1.OutOfBandRecordMetadataKeys.RecipientRouting);
|
|
128
|
+
if (oobRecordRecipientRouting && ourService) {
|
|
129
|
+
ourService.recipientKeys[0].keyId =
|
|
130
|
+
oobRecordRecipientRouting.recipientKeyId ?? ourService.recipientKeys[0].legacyKeyId;
|
|
131
|
+
}
|
|
123
132
|
}
|
|
124
133
|
// we either miss ourService (even though a message was sent) or we miss recipientService
|
|
125
134
|
// we check in separate if statements to provide a more specific error message
|
|
@@ -142,14 +151,16 @@ async function getServicesForMessage(agentContext, { lastSentMessage, lastReceiv
|
|
|
142
151
|
* routing configuration from the out of band record if available.
|
|
143
152
|
*/
|
|
144
153
|
async function createOurService(agentContext, { outOfBandRecord, message }) {
|
|
145
|
-
agentContext.config.logger.debug(`No previous sent message in thread for outbound message ${message.id}, setting up routing`);
|
|
154
|
+
agentContext.config.logger.debug(`No previous sent message in thread for outbound message ${message.id} with type ${message.type}, setting up routing`);
|
|
146
155
|
let routing = undefined;
|
|
147
156
|
// Extract routing from out of band record if possible
|
|
148
157
|
const oobRecordRecipientRouting = outOfBandRecord?.metadata.get(outOfBandRecordMetadataTypes_1.OutOfBandRecordMetadataKeys.RecipientRouting);
|
|
149
158
|
if (oobRecordRecipientRouting) {
|
|
159
|
+
const recipientPublicJwk = core_1.Kms.PublicJwk.fromFingerprint(oobRecordRecipientRouting.recipientKeyFingerprint);
|
|
160
|
+
recipientPublicJwk.keyId = oobRecordRecipientRouting.recipientKeyId ?? recipientPublicJwk.legacyKeyId;
|
|
150
161
|
routing = {
|
|
151
|
-
recipientKey:
|
|
152
|
-
routingKeys: oobRecordRecipientRouting.routingKeyFingerprints.map((fingerprint) => core_1.
|
|
162
|
+
recipientKey: recipientPublicJwk,
|
|
163
|
+
routingKeys: oobRecordRecipientRouting.routingKeyFingerprints.map((fingerprint) => core_1.Kms.PublicJwk.fromFingerprint(fingerprint)),
|
|
153
164
|
endpoints: oobRecordRecipientRouting.endpoints,
|
|
154
165
|
mediatorId: oobRecordRecipientRouting.mediatorId,
|
|
155
166
|
};
|
|
@@ -159,6 +170,20 @@ async function createOurService(agentContext, { outOfBandRecord, message }) {
|
|
|
159
170
|
routing = await routingService.getRouting(agentContext, {
|
|
160
171
|
mediatorId: outOfBandRecord?.mediatorId,
|
|
161
172
|
});
|
|
173
|
+
// We need to store the routing so we can reference it in in the future.
|
|
174
|
+
if (outOfBandRecord) {
|
|
175
|
+
agentContext.config.logger.debug('Storing routing for out of band invitation.');
|
|
176
|
+
outOfBandRecord.metadata.set(outOfBandRecordMetadataTypes_1.OutOfBandRecordMetadataKeys.RecipientRouting, {
|
|
177
|
+
recipientKeyFingerprint: routing.recipientKey.fingerprint,
|
|
178
|
+
recipientKeyId: routing.recipientKey.keyId,
|
|
179
|
+
routingKeyFingerprints: routing.routingKeys.map((key) => key.fingerprint),
|
|
180
|
+
endpoints: routing.endpoints,
|
|
181
|
+
mediatorId: routing.mediatorId,
|
|
182
|
+
});
|
|
183
|
+
outOfBandRecord.setTags({ recipientRoutingKeyFingerprint: routing.recipientKey.fingerprint });
|
|
184
|
+
const outOfBandRepository = agentContext.resolve(oob_1.OutOfBandRepository);
|
|
185
|
+
await outOfBandRepository.update(agentContext, outOfBandRecord);
|
|
186
|
+
}
|
|
162
187
|
}
|
|
163
188
|
return {
|
|
164
189
|
id: core_1.utils.uuid(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getOutboundMessageContext.js","sourceRoot":"","sources":["../src/getOutboundMessageContext.ts"],"names":[],"mappings":";;AAyBA,8DAgDC;AAED,
|
|
1
|
+
{"version":3,"file":"getOutboundMessageContext.js","sourceRoot":"","sources":["../src/getOutboundMessageContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentContext,
|
|
1
|
+
import type { AgentContext, Kms } from '@credo-ts/core';
|
|
2
2
|
import type { AgentMessage } from '../AgentMessage';
|
|
3
3
|
import type { MessageHandler } from '../handlers';
|
|
4
4
|
import type { ConnectionRecord } from '../modules/connections/repository';
|
|
@@ -7,8 +7,8 @@ import type { OutboundMessageContext } from './OutboundMessageContext';
|
|
|
7
7
|
export interface MessageContextParams {
|
|
8
8
|
connection?: ConnectionRecord;
|
|
9
9
|
sessionId?: string;
|
|
10
|
-
senderKey?:
|
|
11
|
-
recipientKey?:
|
|
10
|
+
senderKey?: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
11
|
+
recipientKey?: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
12
12
|
agentContext: AgentContext;
|
|
13
13
|
receivedAt?: Date;
|
|
14
14
|
encryptedMessage?: EncryptedMessage;
|
|
@@ -16,8 +16,8 @@ export interface MessageContextParams {
|
|
|
16
16
|
export declare class InboundMessageContext<T extends AgentMessage = AgentMessage> {
|
|
17
17
|
connection?: ConnectionRecord;
|
|
18
18
|
sessionId?: string;
|
|
19
|
-
senderKey?:
|
|
20
|
-
recipientKey?:
|
|
19
|
+
senderKey?: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
20
|
+
recipientKey?: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
21
21
|
receivedAt: Date;
|
|
22
22
|
readonly agentContext: AgentContext;
|
|
23
23
|
message: T;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { AgentContext, BaseRecord,
|
|
1
|
+
import type { AgentContext, BaseRecord, Kms, ResolvedDidCommService } from '@credo-ts/core';
|
|
2
2
|
import type { AgentMessage } from '../AgentMessage';
|
|
3
3
|
import type { ConnectionRecord } from '../modules/connections/repository';
|
|
4
4
|
import type { OutOfBandRecord } from '../modules/oob';
|
|
5
5
|
import type { InboundMessageContext } from './InboundMessageContext';
|
|
6
6
|
export interface ServiceMessageParams {
|
|
7
|
-
senderKey:
|
|
7
|
+
senderKey: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
8
8
|
service: ResolvedDidCommService;
|
|
9
9
|
returnRoute?: boolean;
|
|
10
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Kms } from '@credo-ts/core';
|
|
2
2
|
export interface Routing {
|
|
3
3
|
endpoints: string[];
|
|
4
|
-
recipientKey:
|
|
5
|
-
routingKeys:
|
|
4
|
+
recipientKey: Kms.PublicJwk<Kms.Ed25519PublicJwk>;
|
|
5
|
+
routingKeys: Kms.PublicJwk<Kms.Ed25519PublicJwk>[];
|
|
6
6
|
mediatorId?: string;
|
|
7
7
|
}
|
|
@@ -48,7 +48,6 @@ let ConnectionsApi = class ConnectionsApi {
|
|
|
48
48
|
if (!routing && !ourDid) {
|
|
49
49
|
routing = await this.routingService.getRouting(this.agentContext, { mediatorId: outOfBandRecord.mediatorId });
|
|
50
50
|
}
|
|
51
|
-
// biome-ignore lint/suspicious/noImplicitAnyLet: <explanation>
|
|
52
51
|
let result;
|
|
53
52
|
if (protocol === models_2.HandshakeProtocol.DidExchange) {
|
|
54
53
|
result = await this.didExchangeProtocol.createRequest(this.agentContext, outOfBandRecord, {
|
|
@@ -113,7 +112,6 @@ let ConnectionsApi = class ConnectionsApi {
|
|
|
113
112
|
const routing = outOfBandRecord.reusable || outOfBandRecord.outOfBandInvitation.getInlineServices().length === 0
|
|
114
113
|
? await this.routingService.getRouting(this.agentContext)
|
|
115
114
|
: undefined;
|
|
116
|
-
// biome-ignore lint/suspicious/noImplicitAnyLet: <explanation>
|
|
117
115
|
let outboundMessageContext;
|
|
118
116
|
if (connectionRecord.protocol === models_2.HandshakeProtocol.DidExchange) {
|
|
119
117
|
const message = await this.didExchangeProtocol.createResponse(this.agentContext, connectionRecord, outOfBandRecord, routing);
|
|
@@ -147,7 +145,6 @@ let ConnectionsApi = class ConnectionsApi {
|
|
|
147
145
|
*/
|
|
148
146
|
async acceptResponse(connectionId) {
|
|
149
147
|
const connectionRecord = await this.connectionService.getById(this.agentContext, connectionId);
|
|
150
|
-
// biome-ignore lint/suspicious/noImplicitAnyLet: <explanation>
|
|
151
148
|
let outboundMessageContext;
|
|
152
149
|
if (connectionRecord.protocol === models_2.HandshakeProtocol.DidExchange) {
|
|
153
150
|
if (!connectionRecord.outOfBandId) {
|
|
@@ -357,7 +354,9 @@ let ConnectionsApi = class ConnectionsApi {
|
|
|
357
354
|
const { didDocument } = await this.didResolverService.resolve(this.agentContext, connection.did);
|
|
358
355
|
if (didDocument) {
|
|
359
356
|
await this.routingService.removeRouting(this.agentContext, {
|
|
360
|
-
recipientKeys: didDocument
|
|
357
|
+
recipientKeys: didDocument
|
|
358
|
+
.getRecipientKeysWithVerificationMethod({ mapX25519ToEd25519: true })
|
|
359
|
+
.map(({ publicJwk }) => publicJwk),
|
|
361
360
|
mediatorId: connection.mediatorId,
|
|
362
361
|
});
|
|
363
362
|
}
|
|
@@ -383,7 +382,9 @@ let ConnectionsApi = class ConnectionsApi {
|
|
|
383
382
|
const mediatorRecord = await (0, helpers_1.getMediationRecordForDidDocument)(this.agentContext, did.didDocument);
|
|
384
383
|
if (mediatorRecord) {
|
|
385
384
|
await this.routingService.removeRouting(this.agentContext, {
|
|
386
|
-
recipientKeys: did.didDocument
|
|
385
|
+
recipientKeys: did.didDocument
|
|
386
|
+
.getRecipientKeysWithVerificationMethod({ mapX25519ToEd25519: true })
|
|
387
|
+
.map(({ publicJwk }) => publicJwk),
|
|
387
388
|
mediatorId: mediatorRecord.id,
|
|
388
389
|
});
|
|
389
390
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionsApi.js","sourceRoot":"","sources":["../../../src/modules/connections/ConnectionsApi.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConnectionsApi.js","sourceRoot":"","sources":["../../../src/modules/connections/ConnectionsApi.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,yCAAwG;AAExG,yEAAqE;AACrE,uDAAmD;AACnD,sFAAgF;AAChF,yCAAqD;AACrD,8DAA0D;AAC1D,uEAAmE;AACnE,yDAA8E;AAE9E,uEAAmE;AACnE,+DAA2D;AAC3D,yCAcmB;AAEnB,qCAA4C;AAC5C,yCAAkF;AAQ3E,IAAM,cAAc,GAApB,MAAM,cAAc;IAiBzB,YACE,sBAA8C,EAC9C,mBAAwC,EACxC,iBAAoC,EACpC,gBAAkC,EAClC,gBAAkC,EAClC,gBAAkC,EAClC,cAA8B,EAC9B,aAA4B,EAC5B,kBAAsC,EACtC,aAA4B,EAC5B,YAA0B,EAC1B,uBAAgD;QAEhD,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,MAAM,GAAG,uBAAuB,CAAA;QAErC,IAAI,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,CAAA;IACtD,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACpC,eAAgC,EAChC,MAQC;QAED,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,MAAM,CAAA;QAEjF,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,iBAAU,CAAC,gDAAgD,CAAC,CAAA;QACxE,CAAC;QAED,uDAAuD;QACvD,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC5B,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YACxB,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,eAAe,CAAC,UAAU,EAAE,CAAC,CAAA;QAC/G,CAAC;QAED,IAAI,MAGH,CAAA;QACD,IAAI,QAAQ,KAAK,0BAAiB,CAAC,WAAW,EAAE,CAAC;YAC/C,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE;gBACxF,KAAK;gBACL,KAAK;gBACL,OAAO;gBACP,oBAAoB;gBACpB,MAAM;aACP,CAAC,CAAA;QACJ,CAAC;aAAM,IAAI,QAAQ,KAAK,0BAAiB,CAAC,WAAW,EAAE,CAAC;YACtD,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,IAAI,iBAAU,CAAC,yEAAyE,CAAC,CAAA;YACjG,CAAC;YACD,yFAAyF;YACzF,+DAA+D;YAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,iBAAU,CAAC,8CAA8C,CAAC,CAAA;YACtE,CAAC;YAED,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,EAAE;gBACtF,KAAK;gBACL,KAAK;gBACL,QAAQ;gBACR,OAAO;gBACP,oBAAoB;aACrB,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,iBAAU,CAAC,kCAAkC,QAAQ,GAAG,CAAC,CAAA;QACrE,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAA;QAC5C,MAAM,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,gBAAgB;YAC5B,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAA;QACF,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;QAC5D,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CAAC,YAAoB;QAC7C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAC/F,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,iBAAU,CAAC,qBAAqB,YAAY,aAAa,CAAC,CAAA;QACtE,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,iBAAU,CAAC,qBAAqB,YAAY,oCAAoC,CAAC,CAAA;QAC7F,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAC7G,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,iBAAU,CAAC,sBAAsB,gBAAgB,CAAC,WAAW,aAAa,CAAC,CAAA;QACvF,CAAC;QAED,wCAAwC;QACxC,iGAAiG;QACjG,8HAA8H;QAC9H,MAAM,OAAO,GACX,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC;YAC9F,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;YACzD,CAAC,CAAC,SAAS,CAAA;QAEf,IAAI,sBAA8C,CAAA;QAClD,IAAI,gBAAgB,CAAC,QAAQ,KAAK,0BAAiB,CAAC,WAAW,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3D,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,eAAe,EACf,OAAO,CACR,CAAA;YACD,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,iGAAiG;YACjG,8HAA8H;YAC9H,MAAM,OAAO,GACX,eAAe,CAAC,QAAQ,IAAI,eAAe,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK,CAAC;gBAC9F,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;gBACzD,CAAC,CAAC,SAAS,CAAA;YAEf,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAC7D,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,eAAe,EACf,OAAO,CACR,CAAA;YACD,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;QAC5D,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc,CAAC,YAAoB;QAC9C,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAE9F,IAAI,sBAA8C,CAAA;QAClD,IAAI,gBAAgB,CAAC,QAAQ,KAAK,0BAAiB,CAAC,WAAW,EAAE,CAAC;YAChE,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;gBAClC,MAAM,IAAI,iBAAU,CAAC,cAAc,gBAAgB,CAAC,EAAE,6BAA6B,CAAC,CAAA;YACtF,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAA;YAC7G,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,IAAI,iBAAU,CAClB,mCAAmC,gBAAgB,CAAC,EAAE,qBAAqB,gBAAgB,CAAC,WAAW,aAAa,CACrH,CAAA;YACH,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC3D,IAAI,CAAC,YAAY,EACjB,gBAAgB,EAChB,eAAe,CAChB,CAAA;YACD,uGAAuG;YACvG,iHAAiH;YACjH,OAAO,CAAC,gBAAgB,CAAC,qCAAgB,CAAC,IAAI,CAAC,CAAA;YAC/C,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,EAAE;gBACpG,iBAAiB,EAAE,KAAK;aACzB,CAAC,CAAA;YACF,uGAAuG;YACvG,iHAAiH;YACjH,OAAO,CAAC,gBAAgB,CAAC,qCAAgB,CAAC,IAAI,CAAC,CAAA;YAC/C,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;gBAC3D,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,UAAU,EAAE,gBAAgB;aAC7B,CAAC,CAAA;QACJ,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;QAC5D,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,QAAQ,CACnB,YAAoB,EACpB,EAAE,iBAAiB,GAAG,IAAI,EAAE,iBAAiB,GAAG,SAAS,KAAsB,EAAE;QAEjF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAEnD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE;YAC9F,iBAAiB,EAAE,iBAAiB;SACrC,CAAC,CAAA;QAEF,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,CAAC,gBAAgB,CAAC,qCAAgB,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QAED,uGAAuG;QACvG,iHAAiH;QACjH,IAAI,iBAAiB,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,CAAC,gBAAgB,CAAC,qCAAgB,CAAC,IAAI,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAClC,IAAI,+BAAsB,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,CACrF,CAAA;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,MAAM,CAAC,OAAoE;QACtF,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAA;QACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAExF,IAAI,KAAK,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,iBAAU,CAAC,+CAA+C,CAAC,CAAA;QACvE,CAAC;QAED,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACvE,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;YAC1E,UAAU;YACV,KAAK;YACL,OAAO;SACR,CAAC,CAAA;QAEF,MAAM,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU;SACX,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;QAE5D,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAA8D;QAChF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAEhG,MAAM,sBAAsB,GAAG,UAAU,CAAC,KAAK,EAAE,CAAA;QAEjD,4DAA4D;QAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAE3F,MAAM,sBAAsB,GAAG,IAAI,+BAAsB,CAAC,OAAO,EAAE;YACjE,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,sBAAsB;SACnC,CAAC,CAAA;QAEF,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;QAE5D,kEAAkE;QAClE,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAC9B,gDAAgD;YAChD,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;YAEhD,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,YAAoB,EAAE,OAA+B;QACtF,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAA;IAC1G,CAAC;IAED;;;;OAIG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACzD,CAAC;IAED;;;;OAIG;IACI,cAAc,CAAC,KAA8B,EAAE,YAA2B;QAC/E,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,YAAY,CAAC,CAAA;IACtF,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,iBAAiB,CAAC,YAAoB,EAAE,IAA6B;QAChF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAE/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAE/E,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,oBAAoB,CAAC,YAAoB,EAAE,IAA6B;QACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAE/C,MAAM,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAElF,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAE/C,OAAO,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,wBAAwB,CAAC,eAA+C;QACnF,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;IAC5F,CAAC;IAED;;;;;;;OAOG;IACI,OAAO,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACxE,CAAC;IAED;;;;;OAKG;IACI,QAAQ,CAAC,YAAoB;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IACzE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,CAAC,YAAoB;QAC1C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;QAExF,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;IAC3E,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,UAA4B;QACtD,IAAI,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC;YAC5C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;YAEhG,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,WAAW;yBACvB,sCAAsC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;yBACpE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;oBACpC,UAAU,EAAE,UAAU,CAAC,UAAU;iBAClC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAAiC;QAC/D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAA;QAEhG,KAAK,MAAM,WAAW,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;YACjF,IAAI,CAAC,GAAG,CAAC,WAAW;gBAAE,SAAQ;YAC9B,MAAM,cAAc,GAAG,MAAM,IAAA,0CAAgC,EAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;YAEjG,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE;oBACzD,aAAa,EAAE,GAAG,CAAC,WAAW;yBAC3B,sCAAsC,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;yBACpE,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC;oBACpC,UAAU,EAAE,cAAc,CAAC,EAAE;iBAC9B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,UAAU,CAAC,YAAY,GAAG,EAAE,CAAA;QAC5B,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAEjC,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACpE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,WAAmB;QACnD,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IACpF,CAAC;IAED;;;;;;;OAOG;IACI,aAAa,CAAC,QAAgB;QACnC,OAAO,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAC1E,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW;QAChC,OAAO,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;IACtE,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,aAAqB;QACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAA;IACrF,CAAC;IAEO,uBAAuB,CAAC,sBAA8C;QAC5E,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,mCAAwB,CAC1B,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CACZ,CACF,CAAA;QACD,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,oCAAyB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC,CACnH,CAAA;QACD,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,4BAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAC5F,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,yCAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QACzG,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,kCAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAC3E,CAAA;QACD,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,0CAA+B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAEzG,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,oCAAyB,CAC3B,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,CACZ,CACF,CAAA;QAED,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,qCAA0B,CAC5B,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,MAAM,CACZ,CACF,CAAA;QACD,sBAAsB,CAAC,sBAAsB,CAC3C,IAAI,qCAA0B,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAChF,CAAA;QAED,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,2BAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;QAElH,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,8BAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAE7F,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,wBAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;QAEvF,sBAAsB,CAAC,sBAAsB,CAAC,IAAI,wCAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAA;IACzG,CAAC;CACF,CAAA;AAvjBY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,iBAAU,GAAE;qCAmBe,+CAAsB;QACzB,yCAAmB;QACrB,4BAAiB;QAClB,2BAAgB;QAChB,mCAAgB;QAChB,2BAAgB;QAClB,+BAAc;QACf,oBAAa;QACR,yBAAkB;QACvB,6BAAa;QACd,mBAAY;QACD,iDAAuB;GA7BvC,cAAc,CAujB1B"}
|
|
@@ -4,6 +4,7 @@ import type { OutOfBandRecord } from '../oob/repository';
|
|
|
4
4
|
import type { ConnectionRecord } from './repository';
|
|
5
5
|
import { DidRepository, JwsService, Logger } from '@credo-ts/core';
|
|
6
6
|
import { InboundMessageContext } from '../../models';
|
|
7
|
+
import { DidCommDocumentService } from '../../services';
|
|
7
8
|
import { DidExchangeCompleteMessage, DidExchangeRequestMessage, DidExchangeResponseMessage } from './messages';
|
|
8
9
|
import { ConnectionService } from './services';
|
|
9
10
|
interface DidExchangeRequestParams {
|
|
@@ -17,10 +18,11 @@ interface DidExchangeRequestParams {
|
|
|
17
18
|
}
|
|
18
19
|
export declare class DidExchangeProtocol {
|
|
19
20
|
private connectionService;
|
|
21
|
+
private didcommDocumentService;
|
|
20
22
|
private jwsService;
|
|
21
23
|
private didRepository;
|
|
22
24
|
private logger;
|
|
23
|
-
constructor(connectionService: ConnectionService, didRepository: DidRepository, jwsService: JwsService, logger: Logger);
|
|
25
|
+
constructor(connectionService: ConnectionService, didRepository: DidRepository, jwsService: JwsService, didcommDocumentService: DidCommDocumentService, logger: Logger);
|
|
24
26
|
createRequest(agentContext: AgentContext, outOfBandRecord: OutOfBandRecord, params: DidExchangeRequestParams): Promise<{
|
|
25
27
|
message: DidExchangeRequestMessage;
|
|
26
28
|
connectionRecord: ConnectionRecord;
|
|
@@ -18,18 +18,20 @@ const Attachment_1 = require("../../decorators/attachment/Attachment");
|
|
|
18
18
|
const OutOfBandRole_1 = require("../oob/domain/OutOfBandRole");
|
|
19
19
|
const OutOfBandState_1 = require("../oob/domain/OutOfBandState");
|
|
20
20
|
const helpers_1 = require("../routing/services/helpers");
|
|
21
|
+
const services_1 = require("../../services");
|
|
21
22
|
const ConnectionsModuleConfig_1 = require("./ConnectionsModuleConfig");
|
|
22
23
|
const DidExchangeStateMachine_1 = require("./DidExchangeStateMachine");
|
|
23
24
|
const errors_1 = require("./errors");
|
|
24
25
|
const messages_1 = require("./messages");
|
|
25
26
|
const models_1 = require("./models");
|
|
26
|
-
const
|
|
27
|
+
const services_2 = require("./services");
|
|
27
28
|
const helpers_2 = require("./services/helpers");
|
|
28
29
|
let DidExchangeProtocol = class DidExchangeProtocol {
|
|
29
|
-
constructor(connectionService, didRepository, jwsService, logger) {
|
|
30
|
+
constructor(connectionService, didRepository, jwsService, didcommDocumentService, logger) {
|
|
30
31
|
this.connectionService = connectionService;
|
|
31
32
|
this.didRepository = didRepository;
|
|
32
33
|
this.jwsService = jwsService;
|
|
34
|
+
this.didcommDocumentService = didcommDocumentService;
|
|
33
35
|
this.logger = logger;
|
|
34
36
|
}
|
|
35
37
|
async createRequest(agentContext, outOfBandRecord, params) {
|
|
@@ -45,27 +47,39 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
45
47
|
const [invitationDid] = outOfBandInvitation.invitationDids;
|
|
46
48
|
// Create message
|
|
47
49
|
const label = params.label ?? agentContext.config.label;
|
|
48
|
-
// biome-ignore lint/suspicious/noImplicitAnyLet: <explanation>
|
|
49
50
|
let didDocument;
|
|
50
|
-
|
|
51
|
+
let keys;
|
|
51
52
|
let mediatorId;
|
|
52
53
|
// If our did is specified, make sure we have all key material for it
|
|
53
54
|
if (did) {
|
|
54
|
-
|
|
55
|
+
const dids = agentContext.resolve(core_1.DidsApi);
|
|
56
|
+
const resolved = await dids.resolveCreatedDidDocumentWithKeys(did);
|
|
57
|
+
didDocument = resolved.didDocument;
|
|
58
|
+
keys = resolved.keys;
|
|
55
59
|
mediatorId = (await (0, helpers_1.getMediationRecordForDidDocument)(agentContext, didDocument))?.id;
|
|
56
|
-
// Otherwise, create a did:peer based on the provided routing
|
|
57
60
|
}
|
|
61
|
+
// Otherwise, create a did:peer based on the provided routing
|
|
58
62
|
else {
|
|
59
63
|
if (!routing)
|
|
60
64
|
throw new core_1.CredoError(`'routing' must be defined if 'ourDid' is not specified`);
|
|
61
|
-
|
|
65
|
+
const resolved = await (0, helpers_2.createPeerDidFromServices)(agentContext, (0, helpers_2.routingToServices)(routing), config.peerNumAlgoForDidExchangeRequests);
|
|
66
|
+
didDocument = resolved.didDocument;
|
|
67
|
+
keys = resolved.keys;
|
|
62
68
|
mediatorId = routing.mediatorId;
|
|
63
69
|
}
|
|
64
70
|
const parentThreadId = outOfBandRecord.outOfBandInvitation.id;
|
|
65
71
|
const message = new messages_1.DidExchangeRequestMessage({ label, parentThreadId, did: didDocument.id, goal, goalCode });
|
|
72
|
+
const signingKeys = didDocument
|
|
73
|
+
.getRecipientKeysWithVerificationMethod({ mapX25519ToEd25519: true })
|
|
74
|
+
.map(({ publicJwk, verificationMethod }) => {
|
|
75
|
+
// Bind the kmsKeyIds
|
|
76
|
+
const kmsKeyId = keys?.find(({ didDocumentRelativeKeyId }) => verificationMethod.id.endsWith(didDocumentRelativeKeyId))?.kmsKeyId;
|
|
77
|
+
publicJwk.keyId = kmsKeyId ?? publicJwk.legacyKeyId;
|
|
78
|
+
return publicJwk;
|
|
79
|
+
});
|
|
66
80
|
// Create sign attachment containing didDoc
|
|
67
81
|
if ((0, core_1.isValidPeerDid)(didDocument.id) && (0, core_1.getNumAlgoFromPeerDid)(didDocument.id) === core_1.PeerDidNumAlgo.GenesisDoc) {
|
|
68
|
-
const didDocAttach = await this.createSignedAttachment(agentContext, didDocument.toJSON(),
|
|
82
|
+
const didDocAttach = await this.createSignedAttachment(agentContext, didDocument.toJSON(), signingKeys);
|
|
69
83
|
message.didDoc = didDocAttach;
|
|
70
84
|
}
|
|
71
85
|
const connectionRecord = await this.connectionService.createConnection(agentContext, {
|
|
@@ -164,18 +178,16 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
164
178
|
if (!theirDid) {
|
|
165
179
|
throw new core_1.CredoError('Missing theirDid on connection record.');
|
|
166
180
|
}
|
|
181
|
+
// Extract keys from the out of band record metadata
|
|
182
|
+
const inlineResolvedServices = outOfBandRecord.outOfBandInvitation
|
|
183
|
+
.getInlineServices()
|
|
184
|
+
.map((service) => (0, helpers_2.getResolvedDidcommServiceWithSigningKeyId)(service, outOfBandRecord.invitationInlineServiceKeys));
|
|
167
185
|
let services = [];
|
|
168
186
|
if (routing) {
|
|
169
187
|
services = (0, helpers_2.routingToServices)(routing);
|
|
170
188
|
}
|
|
171
|
-
else if (
|
|
172
|
-
|
|
173
|
-
services = inlineServices.map((service) => ({
|
|
174
|
-
id: service.id,
|
|
175
|
-
serviceEndpoint: service.serviceEndpoint,
|
|
176
|
-
recipientKeys: service.recipientKeys.map(core_1.didKeyToInstanceOfKey),
|
|
177
|
-
routingKeys: service.routingKeys?.map(core_1.didKeyToInstanceOfKey) ?? [],
|
|
178
|
-
}));
|
|
189
|
+
else if (inlineResolvedServices.length > 0) {
|
|
190
|
+
services = inlineResolvedServices;
|
|
179
191
|
}
|
|
180
192
|
else {
|
|
181
193
|
// We don't support using a did from the OOB invitation services currently, in this case we always pass routing to this method
|
|
@@ -185,23 +197,28 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
185
197
|
const numAlgo = (0, core_1.isValidPeerDid)(theirDid)
|
|
186
198
|
? (0, core_1.getNumAlgoFromPeerDid)(theirDid)
|
|
187
199
|
: config.peerNumAlgoForDidExchangeRequests;
|
|
188
|
-
const didDocument = await (0, helpers_2.createPeerDidFromServices)(agentContext, services, numAlgo);
|
|
200
|
+
const { didDocument } = await (0, helpers_2.createPeerDidFromServices)(agentContext, services, numAlgo);
|
|
189
201
|
const message = new messages_1.DidExchangeResponseMessage({ did: didDocument.id, threadId });
|
|
190
202
|
// DID Rotate attachment should be signed with invitation keys
|
|
191
|
-
const invitationRecipientKeys =
|
|
192
|
-
.getInlineServices()
|
|
193
|
-
.map((s) => s.recipientKeys)
|
|
194
|
-
.reduce((acc, curr) => acc.concat(curr), []);
|
|
203
|
+
const invitationRecipientKeys = inlineResolvedServices.flatMap((s) => s.recipientKeys);
|
|
195
204
|
// Consider also pure-DID services, used when DID Exchange is started with an implicit invitation or a public DID
|
|
196
205
|
for (const did of outOfBandRecord.outOfBandInvitation.getDidServices()) {
|
|
197
|
-
|
|
206
|
+
const dids = agentContext.resolve(core_1.DidsApi);
|
|
207
|
+
const resolved = await dids.resolveCreatedDidDocumentWithKeys((0, core_1.parseDid)(did).did);
|
|
208
|
+
invitationRecipientKeys.push(...resolved.didDocument
|
|
209
|
+
.getRecipientKeysWithVerificationMethod({ mapX25519ToEd25519: true })
|
|
210
|
+
.map(({ publicJwk, verificationMethod }) => {
|
|
211
|
+
const kmsKeyId = resolved.keys?.find(({ didDocumentRelativeKeyId }) => verificationMethod.id.endsWith(didDocumentRelativeKeyId))?.kmsKeyId;
|
|
212
|
+
publicJwk.keyId = kmsKeyId ?? publicJwk.legacyKeyId;
|
|
213
|
+
return publicJwk;
|
|
214
|
+
}));
|
|
198
215
|
}
|
|
199
216
|
if (numAlgo === core_1.PeerDidNumAlgo.GenesisDoc) {
|
|
200
|
-
message.didDoc = await this.createSignedAttachment(agentContext, didDocument.toJSON(),
|
|
217
|
+
message.didDoc = await this.createSignedAttachment(agentContext, didDocument.toJSON(), invitationRecipientKeys);
|
|
201
218
|
}
|
|
202
219
|
else {
|
|
203
220
|
// We assume any other case is a resolvable did (e.g. did:peer:2 or did:peer:4)
|
|
204
|
-
message.didRotate = await this.createSignedAttachment(agentContext, didDocument.id,
|
|
221
|
+
message.didRotate = await this.createSignedAttachment(agentContext, didDocument.id, invitationRecipientKeys);
|
|
205
222
|
}
|
|
206
223
|
connectionRecord.did = didDocument.id;
|
|
207
224
|
await this.updateState(agentContext, messages_1.DidExchangeResponseMessage.type, connectionRecord);
|
|
@@ -226,9 +243,13 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
226
243
|
});
|
|
227
244
|
}
|
|
228
245
|
// Get DID Document either from message (if it is a did:peer) or resolve it externally
|
|
229
|
-
const didDocument = await this.resolveDidDocument(agentContext, message, outOfBandRecord
|
|
230
|
-
.
|
|
231
|
-
.
|
|
246
|
+
const didDocument = await this.resolveDidDocument(agentContext, message, outOfBandRecord.getTags().recipientKeyFingerprints.map((fingerprint) => {
|
|
247
|
+
const publicJwk = core_1.Kms.PublicJwk.fromFingerprint(fingerprint);
|
|
248
|
+
if (!publicJwk.is(core_1.Kms.Ed25519PublicJwk)) {
|
|
249
|
+
throw new core_1.CredoError('Expected fingerprint to be of type Ed25519');
|
|
250
|
+
}
|
|
251
|
+
return publicJwk;
|
|
252
|
+
}));
|
|
232
253
|
if ((0, core_1.isValidPeerDid)(didDocument.id)) {
|
|
233
254
|
const didRecord = await this.didRepository.storeReceivedDid(messageContext.agentContext, {
|
|
234
255
|
did: didDocument.id,
|
|
@@ -303,27 +324,26 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
303
324
|
const nextState = DidExchangeStateMachine_1.DidExchangeStateMachine.nextState(messageType, connectionRecord);
|
|
304
325
|
return this.connectionService.updateState(agentContext, connectionRecord, nextState);
|
|
305
326
|
}
|
|
306
|
-
async createSignedAttachment(agentContext, data,
|
|
307
|
-
this.logger.debug(
|
|
327
|
+
async createSignedAttachment(agentContext, data, signingKeys) {
|
|
328
|
+
this.logger.debug('Creating signed attachment');
|
|
308
329
|
const signedAttach = new Attachment_1.Attachment({
|
|
309
330
|
mimeType: typeof data === 'string' ? undefined : 'application/json',
|
|
310
331
|
data: new Attachment_1.AttachmentData({
|
|
311
332
|
base64: typeof data === 'string' ? core_1.TypedArrayEncoder.toBase64URL(core_1.Buffer.from(data)) : core_1.JsonEncoder.toBase64(data),
|
|
312
333
|
}),
|
|
313
334
|
});
|
|
314
|
-
await Promise.all(
|
|
315
|
-
const
|
|
316
|
-
const kid = new core_1.DidKey(key).did;
|
|
335
|
+
await Promise.all(signingKeys.map(async (signingKey) => {
|
|
336
|
+
const kid = new core_1.DidKey(signingKey).did;
|
|
317
337
|
const payload = typeof data === 'string' ? core_1.TypedArrayEncoder.fromString(data) : core_1.JsonEncoder.toBuffer(data);
|
|
318
338
|
const jws = await this.jwsService.createJws(agentContext, {
|
|
319
339
|
payload,
|
|
320
|
-
|
|
340
|
+
keyId: signingKey.keyId,
|
|
321
341
|
header: {
|
|
322
342
|
kid,
|
|
323
343
|
},
|
|
324
344
|
protectedHeaderOptions: {
|
|
325
|
-
alg: core_1.
|
|
326
|
-
jwk:
|
|
345
|
+
alg: core_1.Kms.KnownJwaSignatureAlgorithms.EdDSA,
|
|
346
|
+
jwk: signingKey,
|
|
327
347
|
},
|
|
328
348
|
});
|
|
329
349
|
signedAttach.addJws(jws);
|
|
@@ -338,17 +358,17 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
338
358
|
* @param invitationKeys array containing keys from connection invitation that could be used for signing of DID document
|
|
339
359
|
* @returns verified DID document content from message attachment
|
|
340
360
|
*/
|
|
341
|
-
async resolveDidDocument(agentContext, message,
|
|
361
|
+
async resolveDidDocument(agentContext, message, invitationKeys = []) {
|
|
342
362
|
// The only supported case where we expect to receive a did-document attachment is did:peer algo 1
|
|
343
363
|
return (0, core_1.isDid)(message.did, 'peer') && (0, core_1.getNumAlgoFromPeerDid)(message.did) === core_1.PeerDidNumAlgo.GenesisDoc
|
|
344
|
-
? this.extractAttachedDidDocument(agentContext, message,
|
|
345
|
-
: this.extractResolvableDidDocument(agentContext, message,
|
|
364
|
+
? this.extractAttachedDidDocument(agentContext, message, invitationKeys)
|
|
365
|
+
: this.extractResolvableDidDocument(agentContext, message, invitationKeys);
|
|
346
366
|
}
|
|
347
367
|
/**
|
|
348
368
|
* Extracts DID document from message (resolving it externally if required) and verifies did-rotate attachment signature
|
|
349
369
|
* if applicable
|
|
350
370
|
*/
|
|
351
|
-
async extractResolvableDidDocument(agentContext, message,
|
|
371
|
+
async extractResolvableDidDocument(agentContext, message, invitationKeys) {
|
|
352
372
|
// Validate did-rotate attachment in case of DID Exchange response
|
|
353
373
|
if (message instanceof messages_1.DidExchangeResponseMessage) {
|
|
354
374
|
const didRotateAttachment = message.didRotate;
|
|
@@ -372,21 +392,33 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
372
392
|
if (signedDid !== message.did) {
|
|
373
393
|
throw new core_1.CredoError(`DID Rotate attachment's did ${message.did} does not correspond to message did ${message.did}`);
|
|
374
394
|
}
|
|
375
|
-
const { isValid,
|
|
395
|
+
const { isValid, jwsSigners } = await this.jwsService.verifyJws(agentContext, {
|
|
376
396
|
jws: {
|
|
377
397
|
...jws,
|
|
378
398
|
payload: base64UrlPayload,
|
|
379
399
|
},
|
|
380
|
-
|
|
400
|
+
allowedJwsSignerMethods: ['did'],
|
|
401
|
+
resolveJwsSigner: ({ jws: { header } }) => {
|
|
381
402
|
if (typeof header.kid !== 'string' || !(0, core_1.isDid)(header.kid, 'key')) {
|
|
382
403
|
throw new core_1.CredoError('JWS header kid must be a did:key DID.');
|
|
383
404
|
}
|
|
384
405
|
const didKey = core_1.DidKey.fromDid(header.kid);
|
|
385
|
-
return
|
|
406
|
+
return {
|
|
407
|
+
method: 'did',
|
|
408
|
+
didUrl: `${didKey.did}#${didKey.publicJwk.fingerprint}`,
|
|
409
|
+
jwk: didKey.publicJwk,
|
|
410
|
+
};
|
|
386
411
|
},
|
|
387
412
|
});
|
|
388
|
-
|
|
389
|
-
|
|
413
|
+
const jwsSignerKeys = jwsSigners.map((signer) => signer.jwk);
|
|
414
|
+
if (!jwsSignerKeys.every((key) => key.is(core_1.Kms.Ed25519PublicJwk))) {
|
|
415
|
+
throw new errors_1.DidExchangeProblemReportError('Expected DID Rotate signature to be signed with Ed25519 key.', {
|
|
416
|
+
problemCode: errors_1.DidExchangeProblemReportReason.ResponseNotAccepted,
|
|
417
|
+
});
|
|
418
|
+
}
|
|
419
|
+
if (!isValid ||
|
|
420
|
+
!jwsSignerKeys.every((key) => invitationKeys?.some((invitationKey) => invitationKey.equals(key)))) {
|
|
421
|
+
throw new errors_1.DidExchangeProblemReportError(`DID Rotate signature is invalid. isValid: ${isValid} signerKeys: ${JSON.stringify(jwsSignerKeys.map((key) => key.fingerprint))} invitationKeys:${JSON.stringify(invitationKeys?.map((key) => key.fingerprint))}`, {
|
|
390
422
|
problemCode: errors_1.DidExchangeProblemReportReason.ResponseNotAccepted,
|
|
391
423
|
});
|
|
392
424
|
}
|
|
@@ -411,7 +443,7 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
411
443
|
* @param invitationKeys array containing keys from connection invitation that could be used for signing of DID document
|
|
412
444
|
* @returns verified DID document content from message attachment
|
|
413
445
|
*/
|
|
414
|
-
async extractAttachedDidDocument(agentContext, message,
|
|
446
|
+
async extractAttachedDidDocument(agentContext, message, invitationKeys = []) {
|
|
415
447
|
if (!message.didDoc) {
|
|
416
448
|
const problemCode = message instanceof messages_1.DidExchangeRequestMessage
|
|
417
449
|
? errors_1.DidExchangeProblemReportReason.RequestNotAccepted
|
|
@@ -431,32 +463,37 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
431
463
|
}
|
|
432
464
|
// JWS payload must be base64url encoded
|
|
433
465
|
const base64UrlPayload = (0, core_1.base64ToBase64URL)(didDocumentAttachment.data.base64);
|
|
434
|
-
const { isValid,
|
|
466
|
+
const { isValid, jwsSigners } = await this.jwsService.verifyJws(agentContext, {
|
|
435
467
|
jws: {
|
|
436
468
|
...jws,
|
|
437
469
|
payload: base64UrlPayload,
|
|
438
470
|
},
|
|
439
|
-
|
|
471
|
+
allowedJwsSignerMethods: ['did'],
|
|
472
|
+
resolveJwsSigner: ({ jws: { header } }) => {
|
|
440
473
|
if (typeof header.kid !== 'string' || !(0, core_1.isDid)(header.kid, 'key')) {
|
|
441
474
|
throw new core_1.CredoError('JWS header kid must be a did:key DID.');
|
|
442
475
|
}
|
|
443
476
|
const didKey = core_1.DidKey.fromDid(header.kid);
|
|
444
|
-
return
|
|
477
|
+
return {
|
|
478
|
+
method: 'did',
|
|
479
|
+
didUrl: `${didKey.did}#${didKey.publicJwk.fingerprint}`,
|
|
480
|
+
jwk: didKey.publicJwk,
|
|
481
|
+
};
|
|
445
482
|
},
|
|
446
483
|
});
|
|
447
484
|
const json = core_1.JsonEncoder.fromBase64(didDocumentAttachment.data.base64);
|
|
448
485
|
const didDocument = core_1.JsonTransformer.fromJSON(json, core_1.DidDocument);
|
|
449
|
-
const
|
|
486
|
+
const didDocumentKeys = didDocument.authentication
|
|
450
487
|
?.map((authentication) => {
|
|
451
488
|
const verificationMethod = typeof authentication === 'string'
|
|
452
489
|
? didDocument.dereferenceVerificationMethod(authentication)
|
|
453
490
|
: authentication;
|
|
454
|
-
const
|
|
455
|
-
return
|
|
491
|
+
const publicJwk = (0, core_1.getPublicJwkFromVerificationMethod)(verificationMethod);
|
|
492
|
+
return publicJwk;
|
|
456
493
|
})
|
|
457
|
-
.concat(
|
|
458
|
-
this.logger.trace('JWS verification result', { isValid,
|
|
459
|
-
if (!isValid || !
|
|
494
|
+
.concat(invitationKeys);
|
|
495
|
+
this.logger.trace('JWS verification result', { isValid, jwsSigners });
|
|
496
|
+
if (!isValid || !jwsSigners.every((jwsSigner) => didDocumentKeys?.some((key) => key.equals(jwsSigner.jwk)))) {
|
|
460
497
|
const problemCode = message instanceof messages_1.DidExchangeRequestMessage
|
|
461
498
|
? errors_1.DidExchangeProblemReportReason.RequestNotAccepted
|
|
462
499
|
: errors_1.DidExchangeProblemReportReason.ResponseNotAccepted;
|
|
@@ -468,9 +505,10 @@ let DidExchangeProtocol = class DidExchangeProtocol {
|
|
|
468
505
|
exports.DidExchangeProtocol = DidExchangeProtocol;
|
|
469
506
|
exports.DidExchangeProtocol = DidExchangeProtocol = __decorate([
|
|
470
507
|
(0, core_1.injectable)(),
|
|
471
|
-
__param(
|
|
472
|
-
__metadata("design:paramtypes", [
|
|
508
|
+
__param(4, (0, core_1.inject)(core_1.InjectionSymbols.Logger)),
|
|
509
|
+
__metadata("design:paramtypes", [services_2.ConnectionService,
|
|
473
510
|
core_1.DidRepository,
|
|
474
|
-
core_1.JwsService,
|
|
511
|
+
core_1.JwsService,
|
|
512
|
+
services_1.DidCommDocumentService, Object])
|
|
475
513
|
], DidExchangeProtocol);
|
|
476
514
|
//# sourceMappingURL=DidExchangeProtocol.js.map
|