@matter/protocol 0.14.1-alpha.0-20250606-a9bcd03f9 → 0.15.0-alpha.0-20250612-ddd428561
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/cjs/certificate/AttestationCertificateManager.js +2 -2
- package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.d.ts +2 -2
- package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateAuthority.js +5 -5
- package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
- package/dist/cjs/certificate/CertificateManager.d.ts +1 -1
- package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/cjs/certificate/CertificateManager.js +21 -10
- package/dist/cjs/certificate/CertificateManager.js.map +1 -1
- package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts +1 -1
- package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/cjs/certificate/DeviceCertification.js +5 -3
- package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
- package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -1
- package/dist/cjs/cluster/client/ClusterClient.js +6 -0
- package/dist/cjs/cluster/client/ClusterClient.js.map +1 -1
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +4 -1
- package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/cjs/codec/BtpCodec.d.ts +1 -1
- package/dist/cjs/codec/MessageCodec.d.ts +1 -1
- package/dist/cjs/fabric/Fabric.d.ts +8 -6
- package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
- package/dist/cjs/fabric/Fabric.js +22 -15
- package/dist/cjs/fabric/Fabric.js.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.d.ts +4 -0
- package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricAuthority.js +6 -0
- package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
- package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
- package/dist/cjs/fabric/FabricManager.js +9 -2
- package/dist/cjs/fabric/FabricManager.js.map +1 -1
- package/dist/cjs/fabric/TestFabric.d.ts +30 -0
- package/dist/cjs/fabric/TestFabric.d.ts.map +1 -0
- package/dist/cjs/fabric/TestFabric.js +70 -0
- package/dist/cjs/fabric/TestFabric.js.map +6 -0
- package/dist/cjs/fabric/index.d.ts +1 -0
- package/dist/cjs/fabric/index.d.ts.map +1 -1
- package/dist/cjs/fabric/index.js +1 -0
- package/dist/cjs/fabric/index.js.map +1 -1
- package/dist/cjs/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
- package/dist/cjs/groups/FabricGroups.d.ts.map +1 -0
- package/dist/cjs/groups/{FabricGroupsManager.js → FabricGroups.js} +9 -9
- package/dist/cjs/groups/FabricGroups.js.map +6 -0
- package/dist/cjs/groups/KeySets.js +1 -1
- package/dist/cjs/groups/KeySets.js.map +1 -1
- package/dist/cjs/groups/index.d.ts +1 -1
- package/dist/cjs/groups/index.d.ts.map +1 -1
- package/dist/cjs/groups/index.js +1 -1
- package/dist/cjs/groups/index.js.map +1 -1
- package/dist/cjs/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
- package/dist/cjs/interaction/FabricAccessControl.d.ts.map +1 -0
- package/dist/cjs/interaction/{AccessControlManager.js → FabricAccessControl.js} +46 -21
- package/dist/cjs/interaction/FabricAccessControl.js.map +6 -0
- package/dist/cjs/interaction/index.d.ts +1 -1
- package/dist/cjs/interaction/index.d.ts.map +1 -1
- package/dist/cjs/interaction/index.js +1 -1
- package/dist/cjs/interaction/index.js.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -4
- package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
- package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/cjs/protocol/MessageExchange.d.ts +6 -0
- package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/cjs/protocol/MessageExchange.js +13 -0
- package/dist/cjs/protocol/MessageExchange.js.map +1 -1
- package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
- package/dist/cjs/session/NodeSession.js +1 -1
- package/dist/cjs/session/Session.d.ts +1 -1
- package/dist/cjs/session/SessionManager.d.ts.map +1 -1
- package/dist/cjs/session/SessionManager.js +1 -0
- package/dist/cjs/session/SessionManager.js.map +1 -1
- package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseClient.js +34 -30
- package/dist/cjs/session/case/CaseClient.js.map +1 -1
- package/dist/cjs/session/case/CaseMessages.d.ts +8 -8
- package/dist/cjs/session/case/CaseMessages.js +8 -8
- package/dist/cjs/session/case/CaseMessages.js.map +1 -1
- package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
- package/dist/cjs/session/case/CaseServer.js +26 -23
- package/dist/cjs/session/case/CaseServer.js.map +1 -1
- package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseClient.js +4 -1
- package/dist/cjs/session/pase/PaseClient.js.map +1 -1
- package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/cjs/session/pase/PaseServer.js +4 -1
- package/dist/cjs/session/pase/PaseServer.js.map +1 -1
- package/dist/esm/certificate/AttestationCertificateManager.js +2 -2
- package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.d.ts +2 -2
- package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateAuthority.js +5 -5
- package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
- package/dist/esm/certificate/CertificateManager.d.ts +1 -1
- package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
- package/dist/esm/certificate/CertificateManager.js +22 -11
- package/dist/esm/certificate/CertificateManager.js.map +1 -1
- package/dist/esm/certificate/CertificationDeclarationManager.d.ts +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts +1 -1
- package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
- package/dist/esm/certificate/DeviceCertification.js +5 -3
- package/dist/esm/certificate/DeviceCertification.js.map +1 -1
- package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -1
- package/dist/esm/cluster/client/ClusterClient.js +6 -0
- package/dist/esm/cluster/client/ClusterClient.js.map +1 -1
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts +4 -1
- package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
- package/dist/esm/codec/BtpCodec.d.ts +1 -1
- package/dist/esm/codec/MessageCodec.d.ts +1 -1
- package/dist/esm/fabric/Fabric.d.ts +8 -6
- package/dist/esm/fabric/Fabric.d.ts.map +1 -1
- package/dist/esm/fabric/Fabric.js +22 -14
- package/dist/esm/fabric/Fabric.js.map +1 -1
- package/dist/esm/fabric/FabricAuthority.d.ts +4 -0
- package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
- package/dist/esm/fabric/FabricAuthority.js +6 -0
- package/dist/esm/fabric/FabricAuthority.js.map +1 -1
- package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
- package/dist/esm/fabric/FabricManager.js +9 -2
- package/dist/esm/fabric/FabricManager.js.map +1 -1
- package/dist/esm/fabric/TestFabric.d.ts +30 -0
- package/dist/esm/fabric/TestFabric.d.ts.map +1 -0
- package/dist/esm/fabric/TestFabric.js +50 -0
- package/dist/esm/fabric/TestFabric.js.map +6 -0
- package/dist/esm/fabric/index.d.ts +1 -0
- package/dist/esm/fabric/index.d.ts.map +1 -1
- package/dist/esm/fabric/index.js +1 -0
- package/dist/esm/fabric/index.js.map +1 -1
- package/dist/esm/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
- package/dist/esm/groups/FabricGroups.d.ts.map +1 -0
- package/dist/esm/groups/{FabricGroupsManager.js → FabricGroups.js} +6 -6
- package/dist/esm/groups/FabricGroups.js.map +6 -0
- package/dist/esm/groups/KeySets.js +1 -1
- package/dist/esm/groups/KeySets.js.map +1 -1
- package/dist/esm/groups/index.d.ts +1 -1
- package/dist/esm/groups/index.d.ts.map +1 -1
- package/dist/esm/groups/index.js +1 -1
- package/dist/esm/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
- package/dist/esm/interaction/FabricAccessControl.d.ts.map +1 -0
- package/dist/esm/interaction/{AccessControlManager.js → FabricAccessControl.js} +44 -19
- package/dist/esm/interaction/FabricAccessControl.js.map +6 -0
- package/dist/esm/interaction/index.d.ts +1 -1
- package/dist/esm/interaction/index.d.ts.map +1 -1
- package/dist/esm/interaction/index.js +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
- package/dist/esm/peer/ControllerCommissioningFlow.js +2 -4
- package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js +1 -1
- package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
- package/dist/esm/protocol/MessageExchange.d.ts +6 -0
- package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
- package/dist/esm/protocol/MessageExchange.js +13 -0
- package/dist/esm/protocol/MessageExchange.js.map +1 -1
- package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
- package/dist/esm/session/NodeSession.js +1 -1
- package/dist/esm/session/Session.d.ts +1 -1
- package/dist/esm/session/SessionManager.d.ts.map +1 -1
- package/dist/esm/session/SessionManager.js +1 -0
- package/dist/esm/session/SessionManager.js.map +1 -1
- package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
- package/dist/esm/session/case/CaseClient.js +34 -30
- package/dist/esm/session/case/CaseClient.js.map +1 -1
- package/dist/esm/session/case/CaseMessages.d.ts +8 -8
- package/dist/esm/session/case/CaseMessages.js +8 -8
- package/dist/esm/session/case/CaseMessages.js.map +1 -1
- package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
- package/dist/esm/session/case/CaseServer.js +26 -23
- package/dist/esm/session/case/CaseServer.js.map +1 -1
- package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseClient.js +4 -1
- package/dist/esm/session/pase/PaseClient.js.map +1 -1
- package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
- package/dist/esm/session/pase/PaseServer.js +4 -1
- package/dist/esm/session/pase/PaseServer.js.map +1 -1
- package/package.json +6 -6
- package/src/certificate/AttestationCertificateManager.ts +2 -2
- package/src/certificate/CertificateAuthority.ts +7 -7
- package/src/certificate/CertificateManager.ts +22 -11
- package/src/certificate/DeviceCertification.ts +5 -3
- package/src/cluster/client/ClusterClient.ts +7 -0
- package/src/cluster/client/ClusterClientTypes.ts +7 -0
- package/src/fabric/Fabric.ts +24 -15
- package/src/fabric/FabricAuthority.ts +7 -0
- package/src/fabric/FabricManager.ts +9 -2
- package/src/fabric/TestFabric.ts +73 -0
- package/src/fabric/index.ts +1 -0
- package/src/groups/{FabricGroupsManager.ts → FabricGroups.ts} +4 -4
- package/src/groups/KeySets.ts +1 -1
- package/src/groups/index.ts +1 -1
- package/src/interaction/{AccessControlManager.ts → FabricAccessControl.ts} +61 -25
- package/src/interaction/index.ts +1 -1
- package/src/peer/ControllerCommissioningFlow.ts +2 -4
- package/src/protocol/DeviceCommissioner.ts +1 -1
- package/src/protocol/MessageExchange.ts +14 -0
- package/src/session/NodeSession.ts +1 -1
- package/src/session/SessionManager.ts +1 -0
- package/src/session/case/CaseClient.ts +34 -30
- package/src/session/case/CaseMessages.ts +8 -8
- package/src/session/case/CaseServer.ts +27 -23
- package/src/session/pase/PaseClient.ts +4 -1
- package/src/session/pase/PaseServer.ts +4 -1
- package/dist/cjs/groups/FabricGroupsManager.d.ts.map +0 -1
- package/dist/cjs/groups/FabricGroupsManager.js.map +0 -6
- package/dist/cjs/interaction/AccessControlManager.d.ts.map +0 -1
- package/dist/cjs/interaction/AccessControlManager.js.map +0 -6
- package/dist/esm/groups/FabricGroupsManager.d.ts.map +0 -1
- package/dist/esm/groups/FabricGroupsManager.js.map +0 -6
- package/dist/esm/interaction/AccessControlManager.d.ts.map +0 -1
- package/dist/esm/interaction/AccessControlManager.js.map +0 -6
|
@@ -202,6 +202,7 @@ export class MessageExchange {
|
|
|
202
202
|
readonly #exchangeId: number;
|
|
203
203
|
readonly #protocolId: number;
|
|
204
204
|
readonly #closed = AsyncObservable<[]>();
|
|
205
|
+
readonly #closing = AsyncObservable<[]>();
|
|
205
206
|
readonly #useMRP: boolean;
|
|
206
207
|
|
|
207
208
|
constructor(
|
|
@@ -252,10 +253,19 @@ export class MessageExchange {
|
|
|
252
253
|
);
|
|
253
254
|
}
|
|
254
255
|
|
|
256
|
+
/** Emits when the exchange is actually closed. This happens after all Retries and Communication are done. */
|
|
255
257
|
get closed() {
|
|
256
258
|
return this.#closed;
|
|
257
259
|
}
|
|
258
260
|
|
|
261
|
+
/**
|
|
262
|
+
* Emit when the exchange is closing, but not yet closed. We only wait for acks and retries to happen, but the
|
|
263
|
+
* actual interaction logic is already done.
|
|
264
|
+
*/
|
|
265
|
+
get closing() {
|
|
266
|
+
return this.#closing;
|
|
267
|
+
}
|
|
268
|
+
|
|
259
269
|
get isClosing() {
|
|
260
270
|
return this.#isClosing;
|
|
261
271
|
}
|
|
@@ -705,6 +715,7 @@ export class MessageExchange {
|
|
|
705
715
|
return this.#close();
|
|
706
716
|
}
|
|
707
717
|
this.#isClosing = true;
|
|
718
|
+
this.#closing.emit();
|
|
708
719
|
|
|
709
720
|
if (this.#receivedMessageToAck !== undefined) {
|
|
710
721
|
this.#receivedMessageAckTimer.stop();
|
|
@@ -742,6 +753,9 @@ export class MessageExchange {
|
|
|
742
753
|
}
|
|
743
754
|
|
|
744
755
|
async #close() {
|
|
756
|
+
if (!this.#isClosing) {
|
|
757
|
+
this.#closing.emit();
|
|
758
|
+
}
|
|
745
759
|
this.#isClosing = true;
|
|
746
760
|
this.#retransmissionTimer?.stop();
|
|
747
761
|
this.#closeTimer?.stop();
|
|
@@ -72,7 +72,7 @@ export class NodeSession extends SecureSession {
|
|
|
72
72
|
peerSessionParameters,
|
|
73
73
|
caseAuthenticatedTags,
|
|
74
74
|
} = args;
|
|
75
|
-
const keys = await Crypto.
|
|
75
|
+
const keys = await Crypto.createHkdfKey(
|
|
76
76
|
sharedSecret,
|
|
77
77
|
salt,
|
|
78
78
|
isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
|
|
@@ -52,8 +52,8 @@ export class CaseClient {
|
|
|
52
52
|
// Generate pairing info
|
|
53
53
|
const initiatorRandom = Crypto.getRandom();
|
|
54
54
|
const initiatorSessionId = await this.#sessions.getNextAvailableSessionId(); // Initiator Session Id
|
|
55
|
-
const { operationalIdentityProtectionKey, operationalCert:
|
|
56
|
-
const
|
|
55
|
+
const { operationalIdentityProtectionKey, operationalCert: localNoc, intermediateCACert: localIcac } = fabric;
|
|
56
|
+
const localKey = await Crypto.createKeyPair();
|
|
57
57
|
|
|
58
58
|
// Send sigma1
|
|
59
59
|
let sigma1Bytes;
|
|
@@ -61,7 +61,7 @@ export class CaseClient {
|
|
|
61
61
|
let resumptionRecord = this.#sessions.findResumptionRecordByAddress(fabric.addressOf(peerNodeId));
|
|
62
62
|
if (resumptionRecord !== undefined) {
|
|
63
63
|
const { sharedSecret, resumptionId } = resumptionRecord;
|
|
64
|
-
const resumeKey = await Crypto.
|
|
64
|
+
const resumeKey = await Crypto.createHkdfKey(
|
|
65
65
|
sharedSecret,
|
|
66
66
|
Bytes.concat(initiatorRandom, resumptionId),
|
|
67
67
|
KDFSR1_KEY_INFO,
|
|
@@ -70,7 +70,7 @@ export class CaseClient {
|
|
|
70
70
|
sigma1Bytes = await messenger.sendSigma1({
|
|
71
71
|
initiatorSessionId,
|
|
72
72
|
destinationId: await fabric.currentDestinationIdFor(peerNodeId, initiatorRandom),
|
|
73
|
-
initiatorEcdhPublicKey,
|
|
73
|
+
initiatorEcdhPublicKey: localKey.publicBits,
|
|
74
74
|
initiatorRandom,
|
|
75
75
|
resumptionId,
|
|
76
76
|
initiatorResumeMic,
|
|
@@ -80,7 +80,7 @@ export class CaseClient {
|
|
|
80
80
|
sigma1Bytes = await messenger.sendSigma1({
|
|
81
81
|
initiatorSessionId,
|
|
82
82
|
destinationId: await fabric.currentDestinationIdFor(peerNodeId, initiatorRandom),
|
|
83
|
-
initiatorEcdhPublicKey,
|
|
83
|
+
initiatorEcdhPublicKey: localKey.publicBits,
|
|
84
84
|
initiatorRandom,
|
|
85
85
|
initiatorSessionParams: this.#sessions.sessionParameters,
|
|
86
86
|
});
|
|
@@ -106,7 +106,7 @@ export class CaseClient {
|
|
|
106
106
|
};
|
|
107
107
|
|
|
108
108
|
const resumeSalt = Bytes.concat(initiatorRandom, resumptionId);
|
|
109
|
-
const resumeKey = await Crypto.
|
|
109
|
+
const resumeKey = await Crypto.createHkdfKey(sharedSecret, resumeSalt, KDFSR2_KEY_INFO);
|
|
110
110
|
Crypto.decrypt(resumeKey, resumeMic, RESUME2_MIC_NONCE);
|
|
111
111
|
|
|
112
112
|
const secureSessionSalt = Bytes.concat(initiatorRandom, resumptionRecord.resumptionId);
|
|
@@ -134,7 +134,7 @@ export class CaseClient {
|
|
|
134
134
|
} else {
|
|
135
135
|
// Process sigma2
|
|
136
136
|
const {
|
|
137
|
-
responderEcdhPublicKey:
|
|
137
|
+
responderEcdhPublicKey: peerKey,
|
|
138
138
|
encrypted: peerEncrypted,
|
|
139
139
|
responderRandom,
|
|
140
140
|
responderSessionId: peerSessionId,
|
|
@@ -145,33 +145,33 @@ export class CaseClient {
|
|
|
145
145
|
...exchange.session.parameters,
|
|
146
146
|
...(responderSessionParams ?? {}),
|
|
147
147
|
};
|
|
148
|
-
const sharedSecret = await Crypto.
|
|
148
|
+
const sharedSecret = await Crypto.generateDhSecret(localKey, PublicKey(peerKey));
|
|
149
149
|
const sigma2Salt = Bytes.concat(
|
|
150
150
|
operationalIdentityProtectionKey,
|
|
151
151
|
responderRandom,
|
|
152
|
-
|
|
153
|
-
await Crypto.
|
|
152
|
+
peerKey,
|
|
153
|
+
await Crypto.computeSha256(sigma1Bytes),
|
|
154
154
|
);
|
|
155
|
-
const sigma2Key = await Crypto.
|
|
155
|
+
const sigma2Key = await Crypto.createHkdfKey(sharedSecret, sigma2Salt, KDFSR2_INFO);
|
|
156
156
|
const peerEncryptedData = Crypto.decrypt(sigma2Key, peerEncrypted, TBE_DATA2_NONCE);
|
|
157
157
|
const {
|
|
158
|
-
|
|
159
|
-
|
|
158
|
+
responderNoc: peerNoc,
|
|
159
|
+
responderIcac: peerIcac,
|
|
160
160
|
signature: peerSignature,
|
|
161
161
|
resumptionId: peerResumptionId,
|
|
162
162
|
} = TlvEncryptedDataSigma2.decode(peerEncryptedData);
|
|
163
163
|
const peerSignatureData = TlvSignedData.encode({
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
164
|
+
responderNoc: peerNoc,
|
|
165
|
+
responderIcac: peerIcac,
|
|
166
|
+
responderPublicKey: peerKey,
|
|
167
|
+
initiatorPublicKey: localKey.publicBits,
|
|
168
168
|
});
|
|
169
169
|
const {
|
|
170
170
|
ellipticCurvePublicKey: peerPublicKey,
|
|
171
171
|
subject: { fabricId: peerFabricIdNOCert, nodeId: peerNodeIdNOCert },
|
|
172
|
-
} = TlvOperationalCertificate.decode(
|
|
172
|
+
} = TlvOperationalCertificate.decode(peerNoc);
|
|
173
173
|
|
|
174
|
-
await Crypto.
|
|
174
|
+
await Crypto.verifyEcdsa(PublicKey(peerPublicKey), peerSignatureData, peerSignature);
|
|
175
175
|
|
|
176
176
|
if (peerNodeIdNOCert !== peerNodeId) {
|
|
177
177
|
throw new UnexpectedDataError(
|
|
@@ -183,10 +183,10 @@ export class CaseClient {
|
|
|
183
183
|
`The fabric ID in the peer certificate ${peerFabricIdNOCert} doesn't match the expected fabric ID ${fabric.fabricId}`,
|
|
184
184
|
);
|
|
185
185
|
}
|
|
186
|
-
if (
|
|
186
|
+
if (peerIcac !== undefined) {
|
|
187
187
|
const {
|
|
188
188
|
subject: { fabricId: peerFabricIdIcaCert },
|
|
189
|
-
} = TlvIntermediateCertificate.decode(
|
|
189
|
+
} = TlvIntermediateCertificate.decode(peerIcac);
|
|
190
190
|
|
|
191
191
|
if (peerFabricIdIcaCert !== undefined && peerFabricIdIcaCert !== fabric.fabricId) {
|
|
192
192
|
throw new UnexpectedDataError(
|
|
@@ -194,22 +194,26 @@ export class CaseClient {
|
|
|
194
194
|
);
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
|
-
await fabric.verifyCredentials(
|
|
197
|
+
await fabric.verifyCredentials(peerNoc, peerIcac);
|
|
198
198
|
|
|
199
199
|
// Generate and send sigma3
|
|
200
200
|
const sigma3Salt = Bytes.concat(
|
|
201
201
|
operationalIdentityProtectionKey,
|
|
202
|
-
await Crypto.
|
|
202
|
+
await Crypto.computeSha256([sigma1Bytes, sigma2Bytes]),
|
|
203
203
|
);
|
|
204
|
-
const sigma3Key = await Crypto.
|
|
204
|
+
const sigma3Key = await Crypto.createHkdfKey(sharedSecret, sigma3Salt, KDFSR3_INFO);
|
|
205
205
|
const signatureData = TlvSignedData.encode({
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
206
|
+
responderNoc: localNoc,
|
|
207
|
+
responderIcac: localIcac,
|
|
208
|
+
responderPublicKey: localKey.publicBits,
|
|
209
|
+
initiatorPublicKey: peerKey,
|
|
210
210
|
});
|
|
211
211
|
const signature = await fabric.sign(signatureData);
|
|
212
|
-
const encryptedData = TlvEncryptedDataSigma3.encode({
|
|
212
|
+
const encryptedData = TlvEncryptedDataSigma3.encode({
|
|
213
|
+
responderNoc: localNoc,
|
|
214
|
+
responderIcac: localIcac,
|
|
215
|
+
signature,
|
|
216
|
+
});
|
|
213
217
|
const encrypted = Crypto.encrypt(sigma3Key, encryptedData, TBE_DATA3_NONCE);
|
|
214
218
|
const sigma3Bytes = await messenger.sendSigma3({ encrypted });
|
|
215
219
|
await messenger.waitForSuccess("Sigma3-Success");
|
|
@@ -218,7 +222,7 @@ export class CaseClient {
|
|
|
218
222
|
const { caseAuthenticatedTags } = resumptionRecord ?? {}; // Even if resumption does not work try to reuse the caseAuthenticatedTags
|
|
219
223
|
const secureSessionSalt = Bytes.concat(
|
|
220
224
|
operationalIdentityProtectionKey,
|
|
221
|
-
await Crypto.
|
|
225
|
+
await Crypto.computeSha256([sigma1Bytes, sigma2Bytes, sigma3Bytes]),
|
|
222
226
|
);
|
|
223
227
|
secureSession = await this.#sessions.createSecureSession({
|
|
224
228
|
sessionId: initiatorSessionId,
|
|
@@ -59,23 +59,23 @@ export const TlvCaseSigma3 = TlvObject({
|
|
|
59
59
|
|
|
60
60
|
/** @see {@link MatterSpecification.v10.Core} § 4.13.2.3 */
|
|
61
61
|
export const TlvSignedData = TlvObject({
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
responderNoc: TlvField(1, TlvByteString),
|
|
63
|
+
responderIcac: TlvOptionalField(2, TlvByteString),
|
|
64
|
+
responderPublicKey: TlvField(3, TlvByteString.bound({ length: CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
65
|
+
initiatorPublicKey: TlvField(4, TlvByteString.bound({ length: CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
|
|
66
66
|
});
|
|
67
67
|
|
|
68
68
|
/** @see {@link MatterSpecification.v10.Core} § 4.13.2.3 */
|
|
69
69
|
export const TlvEncryptedDataSigma2 = TlvObject({
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
responderNoc: TlvField(1, TlvByteString),
|
|
71
|
+
responderIcac: TlvOptionalField(2, TlvByteString),
|
|
72
72
|
signature: TlvField(3, TlvByteString.bound({ length: CASE_SIGNATURE_LENGTH })),
|
|
73
73
|
resumptionId: TlvField(4, TlvByteString.bound({ length: 16 })),
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
/** @see {@link MatterSpecification.v10.Core} § 4.13.2.3 */
|
|
77
77
|
export const TlvEncryptedDataSigma3 = TlvObject({
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
responderNoc: TlvField(1, TlvByteString),
|
|
79
|
+
responderIcac: TlvOptionalField(2, TlvByteString),
|
|
80
80
|
signature: TlvField(3, TlvByteString.bound({ length: CASE_SIGNATURE_LENGTH })),
|
|
81
81
|
});
|
|
@@ -100,7 +100,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
const { sharedSecret, fabric, peerNodeId, caseAuthenticatedTags } = cx.resumptionRecord;
|
|
103
|
-
const peerResumeKey = await Crypto.
|
|
103
|
+
const peerResumeKey = await Crypto.createHkdfKey(
|
|
104
104
|
sharedSecret,
|
|
105
105
|
Bytes.concat(cx.peerRandom, cx.peerResumptionId),
|
|
106
106
|
KDFSR1_KEY_INFO,
|
|
@@ -135,7 +135,7 @@ export class CaseServer implements ProtocolHandler {
|
|
|
135
135
|
|
|
136
136
|
// Generate sigma 2 resume
|
|
137
137
|
const resumeSalt = Bytes.concat(cx.peerRandom, cx.localResumptionId);
|
|
138
|
-
const resumeKey = await Crypto.
|
|
138
|
+
const resumeKey = await Crypto.createHkdfKey(sharedSecret, resumeSalt, KDFSR2_KEY_INFO);
|
|
139
139
|
const resumeMic = Crypto.encrypt(resumeKey, new Uint8Array(0), RESUME2_MIC_NONCE);
|
|
140
140
|
try {
|
|
141
141
|
await cx.messenger.sendSigma2Resume({
|
|
@@ -184,26 +184,27 @@ export class CaseServer implements ProtocolHandler {
|
|
|
184
184
|
// TODO: Pass through a group id?
|
|
185
185
|
const fabric = await this.#fabrics.findFabricFromDestinationId(cx.destinationId, cx.peerRandom);
|
|
186
186
|
const { operationalCert: nodeOpCert, intermediateCACert, operationalIdentityProtectionKey } = fabric;
|
|
187
|
-
const
|
|
188
|
-
|
|
189
|
-
);
|
|
187
|
+
const key = await Crypto.createKeyPair();
|
|
188
|
+
const responderEcdhPublicKey = key.publicBits;
|
|
189
|
+
const sharedSecret = await Crypto.generateDhSecret(key, PublicKey(cx.peerEcdhPublicKey));
|
|
190
|
+
|
|
190
191
|
const sigma2Salt = Bytes.concat(
|
|
191
192
|
operationalIdentityProtectionKey,
|
|
192
193
|
responderRandom,
|
|
193
194
|
responderEcdhPublicKey,
|
|
194
|
-
await Crypto.
|
|
195
|
+
await Crypto.computeSha256(cx.bytes),
|
|
195
196
|
);
|
|
196
|
-
const sigma2Key = await Crypto.
|
|
197
|
+
const sigma2Key = await Crypto.createHkdfKey(sharedSecret, sigma2Salt, KDFSR2_INFO);
|
|
197
198
|
const signatureData = TlvSignedData.encode({
|
|
198
|
-
nodeOpCert,
|
|
199
|
-
intermediateCACert,
|
|
200
|
-
|
|
201
|
-
|
|
199
|
+
responderNoc: nodeOpCert,
|
|
200
|
+
responderIcac: intermediateCACert,
|
|
201
|
+
responderPublicKey: responderEcdhPublicKey,
|
|
202
|
+
initiatorPublicKey: cx.peerEcdhPublicKey,
|
|
202
203
|
});
|
|
203
204
|
const signature = await fabric.sign(signatureData);
|
|
204
205
|
const encryptedData = TlvEncryptedDataSigma2.encode({
|
|
205
|
-
nodeOpCert,
|
|
206
|
-
intermediateCACert,
|
|
206
|
+
responderNoc: nodeOpCert,
|
|
207
|
+
responderIcac: intermediateCACert,
|
|
207
208
|
signature,
|
|
208
209
|
resumptionId: cx.localResumptionId,
|
|
209
210
|
});
|
|
@@ -222,22 +223,25 @@ export class CaseServer implements ProtocolHandler {
|
|
|
222
223
|
sigma3Bytes,
|
|
223
224
|
sigma3: { encrypted: peerEncrypted },
|
|
224
225
|
} = await cx.messenger.readSigma3();
|
|
225
|
-
const sigma3Salt = Bytes.concat(
|
|
226
|
-
|
|
226
|
+
const sigma3Salt = Bytes.concat(
|
|
227
|
+
operationalIdentityProtectionKey,
|
|
228
|
+
await Crypto.computeSha256([cx.bytes, sigma2Bytes]),
|
|
229
|
+
);
|
|
230
|
+
const sigma3Key = await Crypto.createHkdfKey(sharedSecret, sigma3Salt, KDFSR3_INFO);
|
|
227
231
|
const peerDecryptedData = Crypto.decrypt(sigma3Key, peerEncrypted, TBE_DATA3_NONCE);
|
|
228
232
|
const {
|
|
229
|
-
|
|
230
|
-
|
|
233
|
+
responderNoc: peerNewOpCert,
|
|
234
|
+
responderIcac: peerIntermediateCACert,
|
|
231
235
|
signature: peerSignature,
|
|
232
236
|
} = TlvEncryptedDataSigma3.decode(peerDecryptedData);
|
|
233
237
|
|
|
234
238
|
await fabric.verifyCredentials(peerNewOpCert, peerIntermediateCACert);
|
|
235
239
|
|
|
236
240
|
const peerSignatureData = TlvSignedData.encode({
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
+
responderNoc: peerNewOpCert,
|
|
242
|
+
responderIcac: peerIntermediateCACert,
|
|
243
|
+
responderPublicKey: cx.peerEcdhPublicKey,
|
|
244
|
+
initiatorPublicKey: responderEcdhPublicKey,
|
|
241
245
|
});
|
|
242
246
|
const {
|
|
243
247
|
ellipticCurvePublicKey: peerPublicKey,
|
|
@@ -248,12 +252,12 @@ export class CaseServer implements ProtocolHandler {
|
|
|
248
252
|
throw new UnexpectedDataError(`Fabric ID mismatch: ${fabric.fabricId} !== ${peerFabricId}`);
|
|
249
253
|
}
|
|
250
254
|
|
|
251
|
-
await Crypto.
|
|
255
|
+
await Crypto.verifyEcdsa(PublicKey(peerPublicKey), peerSignatureData, peerSignature);
|
|
252
256
|
|
|
253
257
|
// All good! Create secure session
|
|
254
258
|
const secureSessionSalt = Bytes.concat(
|
|
255
259
|
operationalIdentityProtectionKey,
|
|
256
|
-
await Crypto.
|
|
260
|
+
await Crypto.computeSha256([cx.bytes, sigma2Bytes, sigma3Bytes]),
|
|
257
261
|
);
|
|
258
262
|
const secureSession = await this.#sessions.createSecureSession({
|
|
259
263
|
sessionId: responderSessionId,
|
|
@@ -81,7 +81,10 @@ export class PaseClient {
|
|
|
81
81
|
|
|
82
82
|
// Compute pake1 and read pake2
|
|
83
83
|
const { w0, w1 } = await Spake2p.computeW0W1(pbkdfParameters, setupPin);
|
|
84
|
-
const spake2p = Spake2p.create(
|
|
84
|
+
const spake2p = Spake2p.create(
|
|
85
|
+
await Crypto.computeSha256([SPAKE_CONTEXT, requestPayload, responsePayload]),
|
|
86
|
+
w0,
|
|
87
|
+
);
|
|
85
88
|
const X = spake2p.computeX();
|
|
86
89
|
await messenger.sendPasePake1({ x: X });
|
|
87
90
|
|
|
@@ -144,7 +144,10 @@ export class PaseServer implements ProtocolHandler {
|
|
|
144
144
|
});
|
|
145
145
|
|
|
146
146
|
// Process pake1 and send pake2
|
|
147
|
-
const spake2p = Spake2p.create(
|
|
147
|
+
const spake2p = Spake2p.create(
|
|
148
|
+
await Crypto.computeSha256([SPAKE_CONTEXT, requestPayload, responsePayload]),
|
|
149
|
+
this.w0,
|
|
150
|
+
);
|
|
148
151
|
const { x: X } = await messenger.readPasePake1();
|
|
149
152
|
const Y = spake2p.computeY();
|
|
150
153
|
const { Ke, hAY, hBX } = await spake2p.computeSecretAndVerifiersFromX(this.L, X, Y);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FabricGroupsManager.d.ts","sourceRoot":"","sources":["../../../src/groups/FabricGroupsManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAiD,cAAc,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,eAAO,MAAM,mBAAmB,6BAAoC,CAAC;AAErE;;GAEG;AACH,qBAAa,mBAAmB;;gBAQhB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IA6BpD,IAAI,OAAO,CAAC,OAAO,EAAE,cAAc,EAElC;IAED,0DAA0D;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAExC;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,kFAAkF;IAClF,IAAI,QAAQ;;;SAEX;IAED,IAAI,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAE7C;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI,SAAS,oDAEZ;IAED,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;IAInC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAI7C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgB7C;;;OAGG;IACG,kBAAkB,CAAC,WAAW,EAAE,WAAW;IA8BjD,6EAA6E;IACvE,iBAAiB,CAAC,aAAa,EAAE,MAAM;CAoBhD"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/groups/FabricGroupsManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlManager.d.ts","sourceRoot":"","sources":["../../../src/interaction/AccessControlManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAEH,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EAGX,mBAAmB,EACnB,SAAS,EACZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE1F,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG;IACzE,SAAS,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,sBAAsB,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,cAAc,CAAC;IACnB,WAAW,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAUF,aAAK,YAAY;IACb,IAAI,IAAI;CACX;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC,0BAA0B,GAAG,YAAY,CAAC;IAClE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,mBAAmB;gBAC1C,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;;gBAWzB,OAAO,GAAE,aAAa,CAAC,kBAAkB,EAAO,EAChD,yBAAyB,CAAC,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,KACnB,OAAO;IAQhB;;OAEG;IACH,uBAAuB,CAAC,OAAO,GAAE,aAAa,CAAC,kBAAkB,EAAO,GAAG,IAAI;IA2D/E;;OAEG;IACH,oBAAoB,CAChB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EACrC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,GACrB,WAAW,EAAE;CAoKnB"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/interaction/AccessControlManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["AuthModeNone"]
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FabricGroupsManager.d.ts","sourceRoot":"","sources":["../../../src/groups/FabricGroupsManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAiD,cAAc,EAAE,MAAM,UAAU,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGjC,eAAO,MAAM,mBAAmB,6BAAoC,CAAC;AAErE;;GAEG;AACH,qBAAa,mBAAmB;;gBAQhB,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IA6BpD,IAAI,OAAO,CAAC,OAAO,EAAE,cAAc,EAElC;IAED,0DAA0D;IAC1D,IAAI,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAExC;IAED,IAAI,SAAS,IAAI,cAAc,CAE9B;IAED,kFAAkF;IAClF,IAAI,QAAQ;;;SAEX;IAED,IAAI,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAE7C;IAED,IAAI,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,EAE1C;IAED,IAAI,SAAS,oDAEZ;IAED,kBAAkB,CAAC,OAAO,EAAE,OAAO;;;;;;IAInC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAI7C,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAgB7C;;;OAGG;IACG,kBAAkB,CAAC,WAAW,EAAE,WAAW;IA8BjD,6EAA6E;IACvE,iBAAiB,CAAC,aAAa,EAAE,MAAM;CAoBhD"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/groups/FabricGroupsManager.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAmB,OAAO,QAAQ,eAAe,uBAAuC;AACxF,SAAsB,eAAkC;AACxD,SAAS,sBAAsB;AAE/B,SAAS,cAAc;AAEhB,MAAM,sBAAsB,MAAM,WAAW,eAAe;AAK5D,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA,WAAW,IAAI,QAAQ;AAAA,EAEvB,YAAY,QAAgB,SAA0B;AAClD,SAAK,UAAU;AACf,SAAK,UAAU,IAAI,OAAO,QAAQ,KAAK,QAAQ;AAC/C,SAAK,kBAAkB,IAAI,eAAe,OAAO;AAIjD,SAAK,SAAS,IAAI;AAAA,MACd,eAAe;AAAA,MACf,WAAW,OAAO;AAAA,MAClB,sBAAsB,OAAO;AAAA,MAC7B,iBAAiB;AAAA;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,sBAAsB;AAAA,MACtB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,sBAAsB;AAAA,MACtB,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,MACjB,wBAAwB;AAAA;AAAA,MACxB,yBAAyB;AAAA;AAAA,IAC7B,CAAC;AACD,QAAI,YAAY,QAAW;AACvB,WAAK,UAAU;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,IAAI,QAAQ,SAAyB;AACjC,SAAK,gBAAgB,UAAU;AAAA,EACnC;AAAA;AAAA,EAGA,IAAI,UAAsC;AACtC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAA4B;AAC5B,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGA,IAAI,WAAW;AACX,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,gBAA2C;AAC3C,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,IAAI,cAAc,KAA2B;AACzC,SAAK,QAAQ,QAAQ;AAAA,EACzB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,QAAQ;AAAA,EACxB;AAAA,EAEA,mBAAmB,SAAkB;AACjC,WAAO,KAAK,QAAQ,gBAAgB,OAAO;AAAA,EAC/C;AAAA,EAEA,gBAAgB,IAAa,UAAkB;AAC3C,WAAO,KAAK,QAAQ,gBAAgB,IAAI,QAAQ;AAAA,EACpD;AAAA,EAEA,oBAAoB,SAA0B;AAC1C,WAAO,KAAK,QAAQ,iBAAiB,OAAO;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,MAAM,mBAAmB,aAA0B;AAC/C,UAAM,EAAE,eAAe,WAAW,WAAW,UAAU,IAAI;AAE3D,QAAI,cAAc,MAAM;AACpB,YAAM,IAAI,gBAAgB,uBAAuB;AAAA,IACrD;AAGA,UAAM,KAAK,iBAAiB,aAAa;AAGzC,UAAM,gBAAgB,KAAK,QAAQ;AACnC,UAAM,uBAAuB,MAAM,OAAO,KAAK,WAAW,eAAe,mBAAmB;AAC5F,UAAM,uBACF,cAAc,OAAO,MAAM,OAAO,KAAK,WAAW,eAAe,mBAAmB,IAAI;AAC5F,UAAM,uBACF,cAAc,OAAO,MAAM,OAAO,KAAK,WAAW,eAAe,mBAAmB,IAAI;AAC5F,SAAK,SAAS,IAAI;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA,iBAAiB,MAAM,KAAK,SAAS,iBAAiB,oBAAoB;AAAA,MAC1E;AAAA,MACA,iBACI,yBAAyB,OAAO,MAAM,KAAK,SAAS,iBAAiB,oBAAoB,IAAI;AAAA,MACjG;AAAA,MACA,iBACI,yBAAyB,OAAO,MAAM,KAAK,SAAS,iBAAiB,oBAAoB,IAAI;AAAA,IACrG,CAAC;AAAA,EACL;AAAA;AAAA,EAGA,MAAM,kBAAkB,eAAuB;AAC3C,QAAI,kBAAkB,GAAG;AACrB,YAAM,IAAI,cAAc,oCAAoC;AAAA,IAChE;AACA,UAAM,KAAK,iBAAiB,eAAe,IAAI;AAC/C,WAAO,KAAK,SAAS,OAAO,iBAAiB,aAAa;AAAA,EAC9D;AAAA;AAAA,EAGA,MAAM,iBAAiB,eAAuB,YAAY,OAAO;AAC7D,QAAI,KAAK,SAAS,MAAM,aAAa,MAAM,QAAW;AAClD;AAAA,IACJ;AAGA,UAAM,kBAAkB,KAAK,SAAS,aAAa,aAAa;AAChE,eAAW,EAAE,IAAI,KAAK,iBAAiB;AACnC,YAAM,KAAK,gBAAgB,cAAc,KAAK,SAAS;AAAA,IAC3D;AAAA,EACJ;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AccessControlManager.d.ts","sourceRoot":"","sources":["../../../src/interaction/AccessControlManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAEH,SAAS,EACT,YAAY,EACZ,cAAc,EACd,WAAW,EAGX,mBAAmB,EACnB,SAAS,EACZ,MAAM,QAAQ,CAAC;AAChB,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAE1F,MAAM,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG;IACzE,SAAS,EAAE,WAAW,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,sBAAsB,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC;AAEnD,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,cAAc,CAAC;IACnB,WAAW,EAAE,YAAY,EAAE,CAAC;CAC/B,CAAC;AAUF,aAAK,YAAY;IACb,IAAI,IAAI;CACX;AAED,MAAM,MAAM,yBAAyB,GAAG;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,EAAE,aAAa,CAAC,0BAA0B,GAAG,YAAY,CAAC;IAClE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;CAC5B,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,mBAAmB;gBAC1C,OAAO,CAAC,EAAE,MAAM;CAG/B;AAED;;GAEG;AACH,qBAAa,oBAAoB;;gBAWzB,OAAO,GAAE,aAAa,CAAC,kBAAkB,EAAO,EAChD,yBAAyB,CAAC,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,yBAAyB,EACtC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,KACnB,OAAO;IAQhB;;OAEG;IACH,uBAAuB,CAAC,OAAO,GAAE,aAAa,CAAC,kBAAkB,EAAO,GAAG,IAAI;IA2D/E;;OAEG;IACH,oBAAoB,CAChB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EACrC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,SAAS,GACrB,WAAW,EAAE;CAoKnB"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/interaction/AccessControlManager.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["AuthModeNone"]
|
|
6
|
-
}
|