@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.
Files changed (211) hide show
  1. package/dist/cjs/certificate/AttestationCertificateManager.js +2 -2
  2. package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
  3. package/dist/cjs/certificate/CertificateAuthority.d.ts +2 -2
  4. package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
  5. package/dist/cjs/certificate/CertificateAuthority.js +5 -5
  6. package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
  7. package/dist/cjs/certificate/CertificateManager.d.ts +1 -1
  8. package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
  9. package/dist/cjs/certificate/CertificateManager.js +21 -10
  10. package/dist/cjs/certificate/CertificateManager.js.map +1 -1
  11. package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +1 -1
  12. package/dist/cjs/certificate/DeviceCertification.d.ts +1 -1
  13. package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
  14. package/dist/cjs/certificate/DeviceCertification.js +5 -3
  15. package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
  16. package/dist/cjs/cluster/client/ClusterClient.d.ts.map +1 -1
  17. package/dist/cjs/cluster/client/ClusterClient.js +6 -0
  18. package/dist/cjs/cluster/client/ClusterClient.js.map +1 -1
  19. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts +4 -1
  20. package/dist/cjs/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  21. package/dist/cjs/codec/BtpCodec.d.ts +1 -1
  22. package/dist/cjs/codec/MessageCodec.d.ts +1 -1
  23. package/dist/cjs/fabric/Fabric.d.ts +8 -6
  24. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  25. package/dist/cjs/fabric/Fabric.js +22 -15
  26. package/dist/cjs/fabric/Fabric.js.map +1 -1
  27. package/dist/cjs/fabric/FabricAuthority.d.ts +4 -0
  28. package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
  29. package/dist/cjs/fabric/FabricAuthority.js +6 -0
  30. package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
  31. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
  32. package/dist/cjs/fabric/FabricManager.js +9 -2
  33. package/dist/cjs/fabric/FabricManager.js.map +1 -1
  34. package/dist/cjs/fabric/TestFabric.d.ts +30 -0
  35. package/dist/cjs/fabric/TestFabric.d.ts.map +1 -0
  36. package/dist/cjs/fabric/TestFabric.js +70 -0
  37. package/dist/cjs/fabric/TestFabric.js.map +6 -0
  38. package/dist/cjs/fabric/index.d.ts +1 -0
  39. package/dist/cjs/fabric/index.d.ts.map +1 -1
  40. package/dist/cjs/fabric/index.js +1 -0
  41. package/dist/cjs/fabric/index.js.map +1 -1
  42. package/dist/cjs/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
  43. package/dist/cjs/groups/FabricGroups.d.ts.map +1 -0
  44. package/dist/cjs/groups/{FabricGroupsManager.js → FabricGroups.js} +9 -9
  45. package/dist/cjs/groups/FabricGroups.js.map +6 -0
  46. package/dist/cjs/groups/KeySets.js +1 -1
  47. package/dist/cjs/groups/KeySets.js.map +1 -1
  48. package/dist/cjs/groups/index.d.ts +1 -1
  49. package/dist/cjs/groups/index.d.ts.map +1 -1
  50. package/dist/cjs/groups/index.js +1 -1
  51. package/dist/cjs/groups/index.js.map +1 -1
  52. package/dist/cjs/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
  53. package/dist/cjs/interaction/FabricAccessControl.d.ts.map +1 -0
  54. package/dist/cjs/interaction/{AccessControlManager.js → FabricAccessControl.js} +46 -21
  55. package/dist/cjs/interaction/FabricAccessControl.js.map +6 -0
  56. package/dist/cjs/interaction/index.d.ts +1 -1
  57. package/dist/cjs/interaction/index.d.ts.map +1 -1
  58. package/dist/cjs/interaction/index.js +1 -1
  59. package/dist/cjs/interaction/index.js.map +1 -1
  60. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  61. package/dist/cjs/peer/ControllerCommissioningFlow.js +2 -4
  62. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  63. package/dist/cjs/protocol/DeviceCommissioner.js +1 -1
  64. package/dist/cjs/protocol/DeviceCommissioner.js.map +1 -1
  65. package/dist/cjs/protocol/MessageExchange.d.ts +6 -0
  66. package/dist/cjs/protocol/MessageExchange.d.ts.map +1 -1
  67. package/dist/cjs/protocol/MessageExchange.js +13 -0
  68. package/dist/cjs/protocol/MessageExchange.js.map +1 -1
  69. package/dist/cjs/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
  70. package/dist/cjs/session/NodeSession.js +1 -1
  71. package/dist/cjs/session/Session.d.ts +1 -1
  72. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  73. package/dist/cjs/session/SessionManager.js +1 -0
  74. package/dist/cjs/session/SessionManager.js.map +1 -1
  75. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
  76. package/dist/cjs/session/case/CaseClient.js +34 -30
  77. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  78. package/dist/cjs/session/case/CaseMessages.d.ts +8 -8
  79. package/dist/cjs/session/case/CaseMessages.js +8 -8
  80. package/dist/cjs/session/case/CaseMessages.js.map +1 -1
  81. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  82. package/dist/cjs/session/case/CaseServer.js +26 -23
  83. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  84. package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
  85. package/dist/cjs/session/pase/PaseClient.js +4 -1
  86. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  87. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  88. package/dist/cjs/session/pase/PaseServer.js +4 -1
  89. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  90. package/dist/esm/certificate/AttestationCertificateManager.js +2 -2
  91. package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
  92. package/dist/esm/certificate/CertificateAuthority.d.ts +2 -2
  93. package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
  94. package/dist/esm/certificate/CertificateAuthority.js +5 -5
  95. package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
  96. package/dist/esm/certificate/CertificateManager.d.ts +1 -1
  97. package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
  98. package/dist/esm/certificate/CertificateManager.js +22 -11
  99. package/dist/esm/certificate/CertificateManager.js.map +1 -1
  100. package/dist/esm/certificate/CertificationDeclarationManager.d.ts +1 -1
  101. package/dist/esm/certificate/DeviceCertification.d.ts +1 -1
  102. package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
  103. package/dist/esm/certificate/DeviceCertification.js +5 -3
  104. package/dist/esm/certificate/DeviceCertification.js.map +1 -1
  105. package/dist/esm/cluster/client/ClusterClient.d.ts.map +1 -1
  106. package/dist/esm/cluster/client/ClusterClient.js +6 -0
  107. package/dist/esm/cluster/client/ClusterClient.js.map +1 -1
  108. package/dist/esm/cluster/client/ClusterClientTypes.d.ts +4 -1
  109. package/dist/esm/cluster/client/ClusterClientTypes.d.ts.map +1 -1
  110. package/dist/esm/codec/BtpCodec.d.ts +1 -1
  111. package/dist/esm/codec/MessageCodec.d.ts +1 -1
  112. package/dist/esm/fabric/Fabric.d.ts +8 -6
  113. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  114. package/dist/esm/fabric/Fabric.js +22 -14
  115. package/dist/esm/fabric/Fabric.js.map +1 -1
  116. package/dist/esm/fabric/FabricAuthority.d.ts +4 -0
  117. package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
  118. package/dist/esm/fabric/FabricAuthority.js +6 -0
  119. package/dist/esm/fabric/FabricAuthority.js.map +1 -1
  120. package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
  121. package/dist/esm/fabric/FabricManager.js +9 -2
  122. package/dist/esm/fabric/FabricManager.js.map +1 -1
  123. package/dist/esm/fabric/TestFabric.d.ts +30 -0
  124. package/dist/esm/fabric/TestFabric.d.ts.map +1 -0
  125. package/dist/esm/fabric/TestFabric.js +50 -0
  126. package/dist/esm/fabric/TestFabric.js.map +6 -0
  127. package/dist/esm/fabric/index.d.ts +1 -0
  128. package/dist/esm/fabric/index.d.ts.map +1 -1
  129. package/dist/esm/fabric/index.js +1 -0
  130. package/dist/esm/fabric/index.js.map +1 -1
  131. package/dist/esm/groups/{FabricGroupsManager.d.ts → FabricGroups.d.ts} +2 -2
  132. package/dist/esm/groups/FabricGroups.d.ts.map +1 -0
  133. package/dist/esm/groups/{FabricGroupsManager.js → FabricGroups.js} +6 -6
  134. package/dist/esm/groups/FabricGroups.js.map +6 -0
  135. package/dist/esm/groups/KeySets.js +1 -1
  136. package/dist/esm/groups/KeySets.js.map +1 -1
  137. package/dist/esm/groups/index.d.ts +1 -1
  138. package/dist/esm/groups/index.d.ts.map +1 -1
  139. package/dist/esm/groups/index.js +1 -1
  140. package/dist/esm/interaction/{AccessControlManager.d.ts → FabricAccessControl.d.ts} +12 -7
  141. package/dist/esm/interaction/FabricAccessControl.d.ts.map +1 -0
  142. package/dist/esm/interaction/{AccessControlManager.js → FabricAccessControl.js} +44 -19
  143. package/dist/esm/interaction/FabricAccessControl.js.map +6 -0
  144. package/dist/esm/interaction/index.d.ts +1 -1
  145. package/dist/esm/interaction/index.d.ts.map +1 -1
  146. package/dist/esm/interaction/index.js +1 -1
  147. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  148. package/dist/esm/peer/ControllerCommissioningFlow.js +2 -4
  149. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  150. package/dist/esm/protocol/DeviceCommissioner.js +1 -1
  151. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  152. package/dist/esm/protocol/MessageExchange.d.ts +6 -0
  153. package/dist/esm/protocol/MessageExchange.d.ts.map +1 -1
  154. package/dist/esm/protocol/MessageExchange.js +13 -0
  155. package/dist/esm/protocol/MessageExchange.js.map +1 -1
  156. package/dist/esm/securechannel/SecureChannelStatusMessageSchema.d.ts +1 -1
  157. package/dist/esm/session/NodeSession.js +1 -1
  158. package/dist/esm/session/Session.d.ts +1 -1
  159. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  160. package/dist/esm/session/SessionManager.js +1 -0
  161. package/dist/esm/session/SessionManager.js.map +1 -1
  162. package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
  163. package/dist/esm/session/case/CaseClient.js +34 -30
  164. package/dist/esm/session/case/CaseClient.js.map +1 -1
  165. package/dist/esm/session/case/CaseMessages.d.ts +8 -8
  166. package/dist/esm/session/case/CaseMessages.js +8 -8
  167. package/dist/esm/session/case/CaseMessages.js.map +1 -1
  168. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  169. package/dist/esm/session/case/CaseServer.js +26 -23
  170. package/dist/esm/session/case/CaseServer.js.map +1 -1
  171. package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
  172. package/dist/esm/session/pase/PaseClient.js +4 -1
  173. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  174. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  175. package/dist/esm/session/pase/PaseServer.js +4 -1
  176. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  177. package/package.json +6 -6
  178. package/src/certificate/AttestationCertificateManager.ts +2 -2
  179. package/src/certificate/CertificateAuthority.ts +7 -7
  180. package/src/certificate/CertificateManager.ts +22 -11
  181. package/src/certificate/DeviceCertification.ts +5 -3
  182. package/src/cluster/client/ClusterClient.ts +7 -0
  183. package/src/cluster/client/ClusterClientTypes.ts +7 -0
  184. package/src/fabric/Fabric.ts +24 -15
  185. package/src/fabric/FabricAuthority.ts +7 -0
  186. package/src/fabric/FabricManager.ts +9 -2
  187. package/src/fabric/TestFabric.ts +73 -0
  188. package/src/fabric/index.ts +1 -0
  189. package/src/groups/{FabricGroupsManager.ts → FabricGroups.ts} +4 -4
  190. package/src/groups/KeySets.ts +1 -1
  191. package/src/groups/index.ts +1 -1
  192. package/src/interaction/{AccessControlManager.ts → FabricAccessControl.ts} +61 -25
  193. package/src/interaction/index.ts +1 -1
  194. package/src/peer/ControllerCommissioningFlow.ts +2 -4
  195. package/src/protocol/DeviceCommissioner.ts +1 -1
  196. package/src/protocol/MessageExchange.ts +14 -0
  197. package/src/session/NodeSession.ts +1 -1
  198. package/src/session/SessionManager.ts +1 -0
  199. package/src/session/case/CaseClient.ts +34 -30
  200. package/src/session/case/CaseMessages.ts +8 -8
  201. package/src/session/case/CaseServer.ts +27 -23
  202. package/src/session/pase/PaseClient.ts +4 -1
  203. package/src/session/pase/PaseServer.ts +4 -1
  204. package/dist/cjs/groups/FabricGroupsManager.d.ts.map +0 -1
  205. package/dist/cjs/groups/FabricGroupsManager.js.map +0 -6
  206. package/dist/cjs/interaction/AccessControlManager.d.ts.map +0 -1
  207. package/dist/cjs/interaction/AccessControlManager.js.map +0 -6
  208. package/dist/esm/groups/FabricGroupsManager.d.ts.map +0 -1
  209. package/dist/esm/groups/FabricGroupsManager.js.map +0 -6
  210. package/dist/esm/interaction/AccessControlManager.d.ts.map +0 -1
  211. 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.hkdf(
75
+ const keys = await Crypto.createHkdfKey(
76
76
  sharedSecret,
77
77
  salt,
78
78
  isResumption ? SESSION_RESUMPTION_KEYS_INFO : SESSION_KEYS_INFO,
@@ -699,6 +699,7 @@ export class SessionManager {
699
699
  compressIdRange(upperBound: number) {
700
700
  this.#idUpperBound = upperBound;
701
701
  this.#nextSessionId = Crypto.getRandomUInt32() % upperBound;
702
+ if (this.#nextSessionId === 0) this.#nextSessionId++;
702
703
  }
703
704
  }
704
705
 
@@ -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: nodeOpCert, intermediateCACert } = fabric;
56
- const { publicKey: initiatorEcdhPublicKey, ecdh } = await Crypto.ecdhGeneratePublicKey();
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.hkdf(
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.hkdf(sharedSecret, resumeSalt, KDFSR2_KEY_INFO);
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: peerEcdhPublicKey,
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.ecdhGenerateSecret(peerEcdhPublicKey, ecdh);
148
+ const sharedSecret = await Crypto.generateDhSecret(localKey, PublicKey(peerKey));
149
149
  const sigma2Salt = Bytes.concat(
150
150
  operationalIdentityProtectionKey,
151
151
  responderRandom,
152
- peerEcdhPublicKey,
153
- await Crypto.hash(sigma1Bytes),
152
+ peerKey,
153
+ await Crypto.computeSha256(sigma1Bytes),
154
154
  );
155
- const sigma2Key = await Crypto.hkdf(sharedSecret, sigma2Salt, KDFSR2_INFO);
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
- nodeOpCert: peerNewOpCert,
159
- intermediateCACert: peerIntermediateCACert,
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
- nodeOpCert: peerNewOpCert,
165
- intermediateCACert: peerIntermediateCACert,
166
- ecdhPublicKey: peerEcdhPublicKey,
167
- peerEcdhPublicKey: initiatorEcdhPublicKey,
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(peerNewOpCert);
172
+ } = TlvOperationalCertificate.decode(peerNoc);
173
173
 
174
- await Crypto.verify(PublicKey(peerPublicKey), peerSignatureData, peerSignature);
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 (peerIntermediateCACert !== undefined) {
186
+ if (peerIcac !== undefined) {
187
187
  const {
188
188
  subject: { fabricId: peerFabricIdIcaCert },
189
- } = TlvIntermediateCertificate.decode(peerIntermediateCACert);
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(peerNewOpCert, peerIntermediateCACert);
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.hash([sigma1Bytes, sigma2Bytes]),
202
+ await Crypto.computeSha256([sigma1Bytes, sigma2Bytes]),
203
203
  );
204
- const sigma3Key = await Crypto.hkdf(sharedSecret, sigma3Salt, KDFSR3_INFO);
204
+ const sigma3Key = await Crypto.createHkdfKey(sharedSecret, sigma3Salt, KDFSR3_INFO);
205
205
  const signatureData = TlvSignedData.encode({
206
- nodeOpCert,
207
- intermediateCACert,
208
- ecdhPublicKey: initiatorEcdhPublicKey,
209
- peerEcdhPublicKey,
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({ nodeOpCert, intermediateCACert, signature });
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.hash([sigma1Bytes, sigma2Bytes, sigma3Bytes]),
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
- nodeOpCert: TlvField(1, TlvByteString),
63
- intermediateCACert: TlvOptionalField(2, TlvByteString),
64
- ecdhPublicKey: TlvField(3, TlvByteString.bound({ length: CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
65
- peerEcdhPublicKey: TlvField(4, TlvByteString.bound({ length: CRYPTO_PUBLIC_KEY_SIZE_BYTES })),
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
- nodeOpCert: TlvField(1, TlvByteString),
71
- intermediateCACert: TlvOptionalField(2, TlvByteString),
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
- nodeOpCert: TlvField(1, TlvByteString),
79
- intermediateCACert: TlvOptionalField(2, TlvByteString),
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.hkdf(
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.hkdf(sharedSecret, resumeSalt, KDFSR2_KEY_INFO);
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 { publicKey: responderEcdhPublicKey, sharedSecret } = await Crypto.ecdhGeneratePublicKeyAndSecret(
188
- cx.peerEcdhPublicKey,
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.hash(cx.bytes),
195
+ await Crypto.computeSha256(cx.bytes),
195
196
  );
196
- const sigma2Key = await Crypto.hkdf(sharedSecret, sigma2Salt, KDFSR2_INFO);
197
+ const sigma2Key = await Crypto.createHkdfKey(sharedSecret, sigma2Salt, KDFSR2_INFO);
197
198
  const signatureData = TlvSignedData.encode({
198
- nodeOpCert,
199
- intermediateCACert,
200
- ecdhPublicKey: responderEcdhPublicKey,
201
- peerEcdhPublicKey: cx.peerEcdhPublicKey,
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(operationalIdentityProtectionKey, await Crypto.hash([cx.bytes, sigma2Bytes]));
226
- const sigma3Key = await Crypto.hkdf(sharedSecret, sigma3Salt, KDFSR3_INFO);
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
- nodeOpCert: peerNewOpCert,
230
- intermediateCACert: peerIntermediateCACert,
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
- nodeOpCert: peerNewOpCert,
238
- intermediateCACert: peerIntermediateCACert,
239
- ecdhPublicKey: cx.peerEcdhPublicKey,
240
- peerEcdhPublicKey: responderEcdhPublicKey,
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.verify(PublicKey(peerPublicKey), peerSignatureData, peerSignature);
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.hash([cx.bytes, sigma2Bytes, sigma3Bytes]),
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(await Crypto.hash([SPAKE_CONTEXT, requestPayload, responsePayload]), w0);
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(await Crypto.hash([SPAKE_CONTEXT, requestPayload, responsePayload]), this.w0);
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": "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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
- }