@matter/protocol 0.15.0-alpha.0-20250613-a55f991d4 → 0.15.0-alpha.0-20250616-4b3754906

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 (229) hide show
  1. package/dist/cjs/certificate/AttestationCertificateManager.d.ts +3 -3
  2. package/dist/cjs/certificate/AttestationCertificateManager.d.ts.map +1 -1
  3. package/dist/cjs/certificate/AttestationCertificateManager.js +12 -10
  4. package/dist/cjs/certificate/AttestationCertificateManager.js.map +1 -1
  5. package/dist/cjs/certificate/CertificateAuthority.d.ts +5 -3
  6. package/dist/cjs/certificate/CertificateAuthority.d.ts.map +1 -1
  7. package/dist/cjs/certificate/CertificateAuthority.js +19 -11
  8. package/dist/cjs/certificate/CertificateAuthority.js.map +1 -1
  9. package/dist/cjs/certificate/CertificateManager.d.ts +18 -15
  10. package/dist/cjs/certificate/CertificateManager.d.ts.map +1 -1
  11. package/dist/cjs/certificate/CertificateManager.js +92 -83
  12. package/dist/cjs/certificate/CertificateManager.js.map +2 -2
  13. package/dist/cjs/certificate/CertificationDeclarationManager.d.ts +7 -1
  14. package/dist/cjs/certificate/CertificationDeclarationManager.d.ts.map +1 -1
  15. package/dist/cjs/certificate/CertificationDeclarationManager.js +2 -2
  16. package/dist/cjs/certificate/CertificationDeclarationManager.js.map +1 -1
  17. package/dist/cjs/certificate/DeviceCertification.d.ts +2 -2
  18. package/dist/cjs/certificate/DeviceCertification.d.ts.map +1 -1
  19. package/dist/cjs/certificate/DeviceCertification.js +10 -4
  20. package/dist/cjs/certificate/DeviceCertification.js.map +1 -1
  21. package/dist/cjs/common/FailsafeContext.js +1 -1
  22. package/dist/cjs/common/FailsafeContext.js.map +1 -1
  23. package/dist/cjs/fabric/Fabric.d.ts +6 -4
  24. package/dist/cjs/fabric/Fabric.d.ts.map +1 -1
  25. package/dist/cjs/fabric/Fabric.js +33 -20
  26. package/dist/cjs/fabric/Fabric.js.map +1 -1
  27. package/dist/cjs/fabric/FabricAuthority.d.ts +1 -1
  28. package/dist/cjs/fabric/FabricAuthority.d.ts.map +1 -1
  29. package/dist/cjs/fabric/FabricAuthority.js +7 -7
  30. package/dist/cjs/fabric/FabricAuthority.js.map +1 -1
  31. package/dist/cjs/fabric/FabricManager.d.ts +3 -2
  32. package/dist/cjs/fabric/FabricManager.d.ts.map +1 -1
  33. package/dist/cjs/fabric/FabricManager.js +8 -3
  34. package/dist/cjs/fabric/FabricManager.js.map +1 -1
  35. package/dist/cjs/fabric/TestFabric.d.ts.map +1 -1
  36. package/dist/cjs/fabric/TestFabric.js +15 -19
  37. package/dist/cjs/fabric/TestFabric.js.map +1 -1
  38. package/dist/cjs/groups/FabricGroups.d.ts.map +1 -1
  39. package/dist/cjs/groups/FabricGroups.js +11 -7
  40. package/dist/cjs/groups/FabricGroups.js.map +1 -1
  41. package/dist/cjs/groups/KeySets.d.ts +2 -2
  42. package/dist/cjs/groups/KeySets.d.ts.map +1 -1
  43. package/dist/cjs/groups/KeySets.js +2 -2
  44. package/dist/cjs/groups/KeySets.js.map +1 -1
  45. package/dist/cjs/groups/MessagingState.d.ts +2 -2
  46. package/dist/cjs/groups/MessagingState.d.ts.map +1 -1
  47. package/dist/cjs/groups/MessagingState.js +4 -2
  48. package/dist/cjs/groups/MessagingState.js.map +1 -1
  49. package/dist/cjs/mdns/MdnsBroadcaster.d.ts +3 -3
  50. package/dist/cjs/mdns/MdnsBroadcaster.d.ts.map +1 -1
  51. package/dist/cjs/mdns/MdnsBroadcaster.js +7 -4
  52. package/dist/cjs/mdns/MdnsBroadcaster.js.map +1 -1
  53. package/dist/cjs/mdns/MdnsService.d.ts.map +1 -1
  54. package/dist/cjs/mdns/MdnsService.js +2 -1
  55. package/dist/cjs/mdns/MdnsService.js.map +1 -1
  56. package/dist/cjs/peer/ControllerCommissioner.js +1 -1
  57. package/dist/cjs/peer/ControllerCommissioner.js.map +1 -1
  58. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts +1 -1
  59. package/dist/cjs/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  60. package/dist/cjs/peer/ControllerCommissioningFlow.js +3 -4
  61. package/dist/cjs/peer/ControllerCommissioningFlow.js.map +1 -1
  62. package/dist/cjs/protocol/DeviceCommissioner.d.ts.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/ExchangeManager.d.ts +4 -2
  66. package/dist/cjs/protocol/ExchangeManager.d.ts.map +1 -1
  67. package/dist/cjs/protocol/ExchangeManager.js +11 -6
  68. package/dist/cjs/protocol/ExchangeManager.js.map +1 -1
  69. package/dist/cjs/protocol/MessageCounter.d.ts +4 -4
  70. package/dist/cjs/protocol/MessageCounter.d.ts.map +1 -1
  71. package/dist/cjs/protocol/MessageCounter.js +7 -6
  72. package/dist/cjs/protocol/MessageCounter.js.map +1 -1
  73. package/dist/cjs/session/GroupSession.d.ts.map +1 -1
  74. package/dist/cjs/session/GroupSession.js +7 -2
  75. package/dist/cjs/session/GroupSession.js.map +1 -1
  76. package/dist/cjs/session/InsecureSession.d.ts +2 -0
  77. package/dist/cjs/session/InsecureSession.d.ts.map +1 -1
  78. package/dist/cjs/session/InsecureSession.js +2 -2
  79. package/dist/cjs/session/InsecureSession.js.map +1 -1
  80. package/dist/cjs/session/NodeSession.d.ts +3 -1
  81. package/dist/cjs/session/NodeSession.d.ts.map +1 -1
  82. package/dist/cjs/session/NodeSession.js +21 -13
  83. package/dist/cjs/session/NodeSession.js.map +1 -1
  84. package/dist/cjs/session/SessionManager.d.ts +1 -0
  85. package/dist/cjs/session/SessionManager.d.ts.map +1 -1
  86. package/dist/cjs/session/SessionManager.js +13 -3
  87. package/dist/cjs/session/SessionManager.js.map +1 -1
  88. package/dist/cjs/session/case/CaseClient.d.ts.map +1 -1
  89. package/dist/cjs/session/case/CaseClient.js +16 -15
  90. package/dist/cjs/session/case/CaseClient.js.map +1 -1
  91. package/dist/cjs/session/case/CaseServer.d.ts.map +1 -1
  92. package/dist/cjs/session/case/CaseServer.js +22 -18
  93. package/dist/cjs/session/case/CaseServer.js.map +1 -1
  94. package/dist/cjs/session/pase/PaseClient.d.ts +4 -4
  95. package/dist/cjs/session/pase/PaseClient.d.ts.map +1 -1
  96. package/dist/cjs/session/pase/PaseClient.js +11 -9
  97. package/dist/cjs/session/pase/PaseClient.js.map +1 -1
  98. package/dist/cjs/session/pase/PaseServer.d.ts.map +1 -1
  99. package/dist/cjs/session/pase/PaseServer.js +6 -5
  100. package/dist/cjs/session/pase/PaseServer.js.map +1 -1
  101. package/dist/esm/certificate/AttestationCertificateManager.d.ts +3 -3
  102. package/dist/esm/certificate/AttestationCertificateManager.d.ts.map +1 -1
  103. package/dist/esm/certificate/AttestationCertificateManager.js +13 -11
  104. package/dist/esm/certificate/AttestationCertificateManager.js.map +1 -1
  105. package/dist/esm/certificate/CertificateAuthority.d.ts +5 -3
  106. package/dist/esm/certificate/CertificateAuthority.d.ts.map +1 -1
  107. package/dist/esm/certificate/CertificateAuthority.js +19 -11
  108. package/dist/esm/certificate/CertificateAuthority.js.map +1 -1
  109. package/dist/esm/certificate/CertificateManager.d.ts +18 -15
  110. package/dist/esm/certificate/CertificateManager.d.ts.map +1 -1
  111. package/dist/esm/certificate/CertificateManager.js +92 -84
  112. package/dist/esm/certificate/CertificateManager.js.map +2 -2
  113. package/dist/esm/certificate/CertificationDeclarationManager.d.ts +7 -1
  114. package/dist/esm/certificate/CertificationDeclarationManager.d.ts.map +1 -1
  115. package/dist/esm/certificate/CertificationDeclarationManager.js +2 -2
  116. package/dist/esm/certificate/CertificationDeclarationManager.js.map +1 -1
  117. package/dist/esm/certificate/DeviceCertification.d.ts +2 -2
  118. package/dist/esm/certificate/DeviceCertification.d.ts.map +1 -1
  119. package/dist/esm/certificate/DeviceCertification.js +11 -5
  120. package/dist/esm/certificate/DeviceCertification.js.map +1 -1
  121. package/dist/esm/common/FailsafeContext.js +1 -1
  122. package/dist/esm/common/FailsafeContext.js.map +1 -1
  123. package/dist/esm/fabric/Fabric.d.ts +6 -4
  124. package/dist/esm/fabric/Fabric.d.ts.map +1 -1
  125. package/dist/esm/fabric/Fabric.js +33 -21
  126. package/dist/esm/fabric/Fabric.js.map +1 -1
  127. package/dist/esm/fabric/FabricAuthority.d.ts +1 -1
  128. package/dist/esm/fabric/FabricAuthority.d.ts.map +1 -1
  129. package/dist/esm/fabric/FabricAuthority.js +8 -15
  130. package/dist/esm/fabric/FabricAuthority.js.map +1 -1
  131. package/dist/esm/fabric/FabricManager.d.ts +3 -2
  132. package/dist/esm/fabric/FabricManager.d.ts.map +1 -1
  133. package/dist/esm/fabric/FabricManager.js +9 -3
  134. package/dist/esm/fabric/FabricManager.js.map +1 -1
  135. package/dist/esm/fabric/TestFabric.d.ts.map +1 -1
  136. package/dist/esm/fabric/TestFabric.js +16 -20
  137. package/dist/esm/fabric/TestFabric.js.map +1 -1
  138. package/dist/esm/groups/FabricGroups.d.ts.map +1 -1
  139. package/dist/esm/groups/FabricGroups.js +12 -8
  140. package/dist/esm/groups/FabricGroups.js.map +1 -1
  141. package/dist/esm/groups/KeySets.d.ts +2 -2
  142. package/dist/esm/groups/KeySets.d.ts.map +1 -1
  143. package/dist/esm/groups/KeySets.js +3 -3
  144. package/dist/esm/groups/KeySets.js.map +1 -1
  145. package/dist/esm/groups/MessagingState.d.ts +2 -2
  146. package/dist/esm/groups/MessagingState.d.ts.map +1 -1
  147. package/dist/esm/groups/MessagingState.js +4 -2
  148. package/dist/esm/groups/MessagingState.js.map +1 -1
  149. package/dist/esm/mdns/MdnsBroadcaster.d.ts +3 -3
  150. package/dist/esm/mdns/MdnsBroadcaster.d.ts.map +1 -1
  151. package/dist/esm/mdns/MdnsBroadcaster.js +7 -5
  152. package/dist/esm/mdns/MdnsBroadcaster.js.map +1 -1
  153. package/dist/esm/mdns/MdnsService.d.ts.map +1 -1
  154. package/dist/esm/mdns/MdnsService.js +3 -1
  155. package/dist/esm/mdns/MdnsService.js.map +1 -1
  156. package/dist/esm/peer/ControllerCommissioner.js +1 -1
  157. package/dist/esm/peer/ControllerCommissioner.js.map +1 -1
  158. package/dist/esm/peer/ControllerCommissioningFlow.d.ts +1 -1
  159. package/dist/esm/peer/ControllerCommissioningFlow.d.ts.map +1 -1
  160. package/dist/esm/peer/ControllerCommissioningFlow.js +3 -5
  161. package/dist/esm/peer/ControllerCommissioningFlow.js.map +1 -1
  162. package/dist/esm/protocol/DeviceCommissioner.d.ts.map +1 -1
  163. package/dist/esm/protocol/DeviceCommissioner.js +1 -2
  164. package/dist/esm/protocol/DeviceCommissioner.js.map +1 -1
  165. package/dist/esm/protocol/ExchangeManager.d.ts +4 -2
  166. package/dist/esm/protocol/ExchangeManager.d.ts.map +1 -1
  167. package/dist/esm/protocol/ExchangeManager.js +11 -6
  168. package/dist/esm/protocol/ExchangeManager.js.map +1 -1
  169. package/dist/esm/protocol/MessageCounter.d.ts +4 -4
  170. package/dist/esm/protocol/MessageCounter.d.ts.map +1 -1
  171. package/dist/esm/protocol/MessageCounter.js +8 -7
  172. package/dist/esm/protocol/MessageCounter.js.map +1 -1
  173. package/dist/esm/session/GroupSession.d.ts.map +1 -1
  174. package/dist/esm/session/GroupSession.js +7 -3
  175. package/dist/esm/session/GroupSession.js.map +1 -1
  176. package/dist/esm/session/InsecureSession.d.ts +2 -0
  177. package/dist/esm/session/InsecureSession.d.ts.map +1 -1
  178. package/dist/esm/session/InsecureSession.js +2 -2
  179. package/dist/esm/session/InsecureSession.js.map +1 -1
  180. package/dist/esm/session/NodeSession.d.ts +3 -1
  181. package/dist/esm/session/NodeSession.d.ts.map +1 -1
  182. package/dist/esm/session/NodeSession.js +22 -14
  183. package/dist/esm/session/NodeSession.js.map +1 -1
  184. package/dist/esm/session/SessionManager.d.ts +1 -0
  185. package/dist/esm/session/SessionManager.d.ts.map +1 -1
  186. package/dist/esm/session/SessionManager.js +13 -4
  187. package/dist/esm/session/SessionManager.js.map +1 -1
  188. package/dist/esm/session/case/CaseClient.d.ts.map +1 -1
  189. package/dist/esm/session/case/CaseClient.js +17 -16
  190. package/dist/esm/session/case/CaseClient.js.map +1 -1
  191. package/dist/esm/session/case/CaseServer.d.ts.map +1 -1
  192. package/dist/esm/session/case/CaseServer.js +23 -19
  193. package/dist/esm/session/case/CaseServer.js.map +1 -1
  194. package/dist/esm/session/pase/PaseClient.d.ts +4 -4
  195. package/dist/esm/session/pase/PaseClient.d.ts.map +1 -1
  196. package/dist/esm/session/pase/PaseClient.js +12 -10
  197. package/dist/esm/session/pase/PaseClient.js.map +1 -1
  198. package/dist/esm/session/pase/PaseServer.d.ts.map +1 -1
  199. package/dist/esm/session/pase/PaseServer.js +6 -6
  200. package/dist/esm/session/pase/PaseServer.js.map +1 -1
  201. package/package.json +6 -6
  202. package/src/certificate/AttestationCertificateManager.ts +12 -10
  203. package/src/certificate/CertificateAuthority.ts +20 -11
  204. package/src/certificate/CertificateManager.ts +77 -72
  205. package/src/certificate/CertificationDeclarationManager.ts +3 -3
  206. package/src/certificate/DeviceCertification.ts +10 -4
  207. package/src/common/FailsafeContext.ts +1 -1
  208. package/src/fabric/Fabric.ts +36 -20
  209. package/src/fabric/FabricAuthority.ts +8 -16
  210. package/src/fabric/FabricManager.ts +10 -3
  211. package/src/fabric/TestFabric.ts +17 -22
  212. package/src/groups/FabricGroups.ts +20 -8
  213. package/src/groups/KeySets.ts +2 -2
  214. package/src/groups/MessagingState.ts +6 -3
  215. package/src/mdns/MdnsBroadcaster.ts +11 -4
  216. package/src/mdns/MdnsService.ts +3 -1
  217. package/src/peer/ControllerCommissioner.ts +1 -1
  218. package/src/peer/ControllerCommissioningFlow.ts +4 -6
  219. package/src/protocol/DeviceCommissioner.ts +1 -2
  220. package/src/protocol/ExchangeManager.ts +13 -6
  221. package/src/protocol/MessageCounter.ts +11 -3
  222. package/src/session/GroupSession.ts +7 -3
  223. package/src/session/InsecureSession.ts +4 -3
  224. package/src/session/NodeSession.ts +25 -14
  225. package/src/session/SessionManager.ts +14 -4
  226. package/src/session/case/CaseClient.ts +18 -16
  227. package/src/session/case/CaseServer.ts +22 -17
  228. package/src/session/pase/PaseClient.ts +11 -9
  229. package/src/session/pase/PaseServer.ts +6 -5
@@ -7,7 +7,6 @@ import {
7
7
  Bytes,
8
8
  ContextTagged,
9
9
  ContextTaggedBytes,
10
- Crypto,
11
10
  DatatypeOverride,
12
11
  DerBitString,
13
12
  DerCodec,
@@ -418,51 +417,57 @@ function extensionsToAsn1(extensions) {
418
417
  });
419
418
  return asn;
420
419
  }
421
- var CertificateManager;
422
- ((CertificateManager2) => {
423
- function assertCertificateDerSize(certBytes) {
424
- if (certBytes.length > MAX_DER_CERTIFICATE_SIZE) {
425
- throw new ImplementationError(
426
- `Certificate to generate is too big: ${certBytes.length} bytes instead of max ${MAX_DER_CERTIFICATE_SIZE} bytes`
427
- );
428
- }
420
+ function genericBuildAsn1Structure({
421
+ serialNumber,
422
+ notBefore,
423
+ notAfter,
424
+ issuer,
425
+ subject,
426
+ ellipticCurvePublicKey,
427
+ extensions
428
+ }) {
429
+ const {
430
+ basicConstraints: { isCa, pathLen }
431
+ } = extensions;
432
+ if (!isCa && pathLen !== void 0) {
433
+ throw new CertificateError("Path length must be undefined for non-CA certificates.");
429
434
  }
430
- function genericBuildAsn1Structure({
431
- serialNumber,
432
- notBefore,
433
- notAfter,
434
- issuer,
435
- subject,
436
- ellipticCurvePublicKey,
437
- extensions
438
- }) {
439
- const {
440
- basicConstraints: { isCa, pathLen }
441
- } = extensions;
442
- if (!isCa && pathLen !== void 0) {
443
- throw new CertificateError("Path length must be undefined for non-CA certificates.");
444
- }
445
- return {
446
- version: ContextTagged(0, 2),
447
- // v3
448
- serialNumber: DatatypeOverride(DerType.Integer, serialNumber),
449
- signatureAlgorithm: X962.EcdsaWithSHA256,
450
- issuer: subjectOrIssuerToAsn1(issuer),
451
- validity: {
452
- notBefore: matterToJsDate(notBefore),
453
- notAfter: matterToJsDate(notAfter)
454
- },
455
- subject: subjectOrIssuerToAsn1(subject),
456
- publicKey: X962.PublicKeyEcPrime256v1(ellipticCurvePublicKey),
457
- extensions: ContextTagged(3, extensionsToAsn1(extensions))
458
- };
435
+ return {
436
+ version: ContextTagged(0, 2),
437
+ // v3
438
+ serialNumber: DatatypeOverride(DerType.Integer, serialNumber),
439
+ signatureAlgorithm: X962.EcdsaWithSHA256,
440
+ issuer: subjectOrIssuerToAsn1(issuer),
441
+ validity: {
442
+ notBefore: matterToJsDate(notBefore),
443
+ notAfter: matterToJsDate(notAfter)
444
+ },
445
+ subject: subjectOrIssuerToAsn1(subject),
446
+ publicKey: X962.PublicKeyEcPrime256v1(ellipticCurvePublicKey),
447
+ extensions: ContextTagged(3, extensionsToAsn1(extensions))
448
+ };
449
+ }
450
+ function genericCertToAsn1(cert) {
451
+ const certBytes = DerCodec.encode(genericBuildAsn1Structure(cert));
452
+ assertCertificateDerSize(certBytes);
453
+ return certBytes;
454
+ }
455
+ function assertCertificateDerSize(certBytes) {
456
+ if (certBytes.length > MAX_DER_CERTIFICATE_SIZE) {
457
+ throw new ImplementationError(
458
+ `Certificate to generate is too big: ${certBytes.length} bytes instead of max ${MAX_DER_CERTIFICATE_SIZE} bytes`
459
+ );
459
460
  }
460
- function genericCertToAsn1(cert) {
461
- const certBytes = DerCodec.encode(genericBuildAsn1Structure(cert));
462
- assertCertificateDerSize(certBytes);
463
- return certBytes;
461
+ }
462
+ class CertificateManager {
463
+ #crypto;
464
+ constructor(crypto) {
465
+ this.#crypto = crypto;
466
+ }
467
+ get crypto() {
468
+ return this.#crypto;
464
469
  }
465
- function rootCertToAsn1(cert) {
470
+ rootCertToAsn1(cert) {
466
471
  const {
467
472
  extensions: {
468
473
  basicConstraints: { isCa }
@@ -473,8 +478,7 @@ var CertificateManager;
473
478
  }
474
479
  return genericCertToAsn1(cert);
475
480
  }
476
- CertificateManager2.rootCertToAsn1 = rootCertToAsn1;
477
- function intermediateCaCertToAsn1(cert) {
481
+ intermediateCaCertToAsn1(cert) {
478
482
  const {
479
483
  extensions: {
480
484
  basicConstraints: { isCa }
@@ -485,8 +489,7 @@ var CertificateManager;
485
489
  }
486
490
  return genericCertToAsn1(cert);
487
491
  }
488
- CertificateManager2.intermediateCaCertToAsn1 = intermediateCaCertToAsn1;
489
- function nodeOperationalCertToAsn1(cert) {
492
+ nodeOperationalCertToAsn1(cert) {
490
493
  const {
491
494
  issuer: { icacId, rcacId },
492
495
  extensions: {
@@ -501,10 +504,9 @@ var CertificateManager;
501
504
  }
502
505
  return genericCertToAsn1(cert);
503
506
  }
504
- CertificateManager2.nodeOperationalCertToAsn1 = nodeOperationalCertToAsn1;
505
- async function deviceAttestationCertToAsn1(cert, key) {
507
+ async deviceAttestationCertToAsn1(cert, key) {
506
508
  const certificate = genericBuildAsn1Structure(cert);
507
- const signature = await Crypto.signEcdsa(key, DerCodec.encode(certificate), "der");
509
+ const signature = await this.#crypto.signEcdsa(key, DerCodec.encode(certificate), "der");
508
510
  const certBytes = DerCodec.encode({
509
511
  certificate,
510
512
  signAlgorithm: X962.EcdsaWithSHA256,
@@ -513,10 +515,9 @@ var CertificateManager;
513
515
  assertCertificateDerSize(certBytes);
514
516
  return certBytes;
515
517
  }
516
- CertificateManager2.deviceAttestationCertToAsn1 = deviceAttestationCertToAsn1;
517
- async function productAttestationIntermediateCertToAsn1(cert, key) {
518
+ async productAttestationIntermediateCertToAsn1(cert, key) {
518
519
  const certificate = genericBuildAsn1Structure(cert);
519
- const signature = await Crypto.signEcdsa(key, DerCodec.encode(certificate), "der");
520
+ const signature = await this.#crypto.signEcdsa(key, DerCodec.encode(certificate), "der");
520
521
  const certBytes = DerCodec.encode({
521
522
  certificate,
522
523
  signAlgorithm: X962.EcdsaWithSHA256,
@@ -525,19 +526,17 @@ var CertificateManager;
525
526
  assertCertificateDerSize(certBytes);
526
527
  return certBytes;
527
528
  }
528
- CertificateManager2.productAttestationIntermediateCertToAsn1 = productAttestationIntermediateCertToAsn1;
529
- async function productAttestationAuthorityCertToAsn1(cert, key) {
529
+ async productAttestationAuthorityCertToAsn1(cert, key) {
530
530
  const certificate = genericBuildAsn1Structure(cert);
531
531
  const certBytes = DerCodec.encode({
532
532
  certificate,
533
533
  signAlgorithm: X962.EcdsaWithSHA256,
534
- signature: DerBitString(await Crypto.signEcdsa(key, DerCodec.encode(certificate), "der"))
534
+ signature: DerBitString(await this.#crypto.signEcdsa(key, DerCodec.encode(certificate), "der"))
535
535
  });
536
536
  assertCertificateDerSize(certBytes);
537
537
  return certBytes;
538
538
  }
539
- CertificateManager2.productAttestationAuthorityCertToAsn1 = productAttestationAuthorityCertToAsn1;
540
- async function certificationDeclarationToAsn1(eContent, subjectKeyIdentifier, privateKey) {
539
+ async certificationDeclarationToAsn1(eContent, subjectKeyIdentifier, privateKey) {
541
540
  const certificate = {
542
541
  version: 3,
543
542
  digestAlgorithm: [SHA256_CMS],
@@ -548,7 +547,7 @@ var CertificateManager;
548
547
  subjectKeyIdentifier: ContextTaggedBytes(0, subjectKeyIdentifier),
549
548
  digestAlgorithm: SHA256_CMS,
550
549
  signatureAlgorithm: X962.EcdsaWithSHA256,
551
- signature: await Crypto.signEcdsa(privateKey, eContent, "der")
550
+ signature: await this.#crypto.signEcdsa(privateKey, eContent, "der")
552
551
  }
553
552
  ]
554
553
  };
@@ -556,8 +555,11 @@ var CertificateManager;
556
555
  assertCertificateDerSize(certBytes);
557
556
  return certBytes;
558
557
  }
559
- CertificateManager2.certificationDeclarationToAsn1 = certificationDeclarationToAsn1;
560
- function validateGeneralCertificateFields(cert) {
558
+ /**
559
+ * Validate general requirements a Matter certificate fields must fulfill.
560
+ * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
561
+ */
562
+ validateGeneralCertificateFields(cert) {
561
563
  if (cert.serialNumber.length > 20)
562
564
  throw new CertificateError(
563
565
  `Serial number must not be longer then 20 octets. Current serial number has ${cert.serialNumber.length} octets.`
@@ -581,9 +583,12 @@ var CertificateManager;
581
583
  logger.warn(`Certificate notBefore date is in the future: ${cert.notBefore * 1e3} vs ${Time.nowMs()}`);
582
584
  }
583
585
  }
584
- CertificateManager2.validateGeneralCertificateFields = validateGeneralCertificateFields;
585
- async function verifyRootCertificate(rootCert) {
586
- CertificateManager2.validateGeneralCertificateFields(rootCert);
586
+ /**
587
+ * Verify requirements a Matter Root certificate must fulfill.
588
+ * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
589
+ */
590
+ async verifyRootCertificate(rootCert) {
591
+ this.validateGeneralCertificateFields(rootCert);
587
592
  if ("nodeId" in rootCert.subject) {
588
593
  throw new CertificateError(`Root certificate must not contain a nodeId.`);
589
594
  }
@@ -638,15 +643,18 @@ var CertificateManager;
638
643
  `Root certificate authorityKeyIdentifier must be equal to subjectKeyIdentifier.`
639
644
  );
640
645
  }
641
- await Crypto.verifyEcdsa(
646
+ await this.#crypto.verifyEcdsa(
642
647
  PublicKey(rootCert.ellipticCurvePublicKey),
643
- rootCertToAsn1(rootCert),
648
+ this.rootCertToAsn1(rootCert),
644
649
  rootCert.signature
645
650
  );
646
651
  }
647
- CertificateManager2.verifyRootCertificate = verifyRootCertificate;
648
- async function verifyNodeOperationalCertificate(nocCert, rootCert, icaCert) {
649
- CertificateManager2.validateGeneralCertificateFields(nocCert);
652
+ /**
653
+ * Verify requirements a Matter Node Operational certificate must fulfill.
654
+ * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
655
+ */
656
+ async verifyNodeOperationalCertificate(nocCert, rootCert, icaCert) {
657
+ this.validateGeneralCertificateFields(nocCert);
650
658
  if (nocCert.subject.nodeId === void 0 || Array.isArray(nocCert.subject.nodeId)) {
651
659
  throw new CertificateError(`Invalid nodeId in NoC certificate: ${Diagnostic.json(nocCert.subject.nodeId)}`);
652
660
  }
@@ -717,15 +725,18 @@ var CertificateManager;
717
725
  `Noc certificate authorityKeyIdentifier must be equal to Root/Ica subjectKeyIdentifier.`
718
726
  );
719
727
  }
720
- await Crypto.verifyEcdsa(
728
+ await this.#crypto.verifyEcdsa(
721
729
  PublicKey((icaCert ?? rootCert).ellipticCurvePublicKey),
722
- nodeOperationalCertToAsn1(nocCert),
730
+ this.nodeOperationalCertToAsn1(nocCert),
723
731
  nocCert.signature
724
732
  );
725
733
  }
726
- CertificateManager2.verifyNodeOperationalCertificate = verifyNodeOperationalCertificate;
727
- async function verifyIntermediateCaCertificate(rootCert, icaCert) {
728
- CertificateManager2.validateGeneralCertificateFields(icaCert);
734
+ /**
735
+ * Verify requirements a Matter Intermediate CA certificate must fulfill.
736
+ * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
737
+ */
738
+ async verifyIntermediateCaCertificate(rootCert, icaCert) {
739
+ this.validateGeneralCertificateFields(icaCert);
729
740
  if ("nodeId" in icaCert.subject) {
730
741
  throw new CertificateError(`Ica certificate must not contain a nodeId.`);
731
742
  }
@@ -792,14 +803,13 @@ var CertificateManager;
792
803
  `Ica certificate authorityKeyIdentifier must be equal to root cert subjectKeyIdentifier.`
793
804
  );
794
805
  }
795
- await Crypto.verifyEcdsa(
806
+ await this.#crypto.verifyEcdsa(
796
807
  PublicKey(rootCert.ellipticCurvePublicKey),
797
- intermediateCaCertToAsn1(icaCert),
808
+ this.intermediateCaCertToAsn1(icaCert),
798
809
  icaCert.signature
799
810
  );
800
811
  }
801
- CertificateManager2.verifyIntermediateCaCertificate = verifyIntermediateCaCertificate;
802
- async function createCertificateSigningRequest(key) {
812
+ async createCertificateSigningRequest(key) {
803
813
  const request = {
804
814
  version: 0,
805
815
  subject: { organization: X520.OrganisationName("CSR") },
@@ -809,11 +819,10 @@ var CertificateManager;
809
819
  return DerCodec.encode({
810
820
  request,
811
821
  signAlgorithm: X962.EcdsaWithSHA256,
812
- signature: DerBitString(await Crypto.signEcdsa(key, DerCodec.encode(request), "der"))
822
+ signature: DerBitString(await this.#crypto.signEcdsa(key, DerCodec.encode(request), "der"))
813
823
  });
814
824
  }
815
- CertificateManager2.createCertificateSigningRequest = createCertificateSigningRequest;
816
- async function getPublicKeyFromCsr(csr) {
825
+ async getPublicKeyFromCsr(csr) {
817
826
  const { [DerKey.Elements]: rootElements } = DerCodec.decode(csr);
818
827
  if (rootElements?.length !== 3) throw new CertificateError("Invalid CSR data");
819
828
  const [requestNode, signAlgorithmNode, signatureNode] = rootElements;
@@ -831,7 +840,7 @@ var CertificateManager;
831
840
  signAlgorithmNode[DerKey.Elements]?.[0]?.[DerKey.Bytes]
832
841
  ))
833
842
  throw new CertificateError("Unsupported signature type");
834
- await Crypto.verifyEcdsa(
843
+ await this.#crypto.verifyEcdsa(
835
844
  PublicKey(publicKey),
836
845
  DerCodec.encode(requestNode),
837
846
  signatureNode[DerKey.Bytes],
@@ -839,8 +848,7 @@ var CertificateManager;
839
848
  );
840
849
  return publicKey;
841
850
  }
842
- CertificateManager2.getPublicKeyFromCsr = getPublicKeyFromCsr;
843
- })(CertificateManager || (CertificateManager = {}));
851
+ }
844
852
  export {
845
853
  CertificateError,
846
854
  CertificateManager,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/certificate/CertificateManager.ts"],
4
- "mappings": "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",
5
- "names": ["CertificateManager"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -1,5 +1,11 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Crypto } from "#general";
1
7
  import { VendorId } from "#types";
2
8
  export declare class CertificationDeclarationManager {
3
- static generate(vendorId: VendorId, productId: number, provisional?: boolean): Promise<Uint8Array<ArrayBufferLike>>;
9
+ static generate(crypto: Crypto, vendorId: VendorId, productId: number, provisional?: boolean): Promise<Uint8Array<ArrayBufferLike>>;
4
10
  }
5
11
  //# sourceMappingURL=CertificationDeclarationManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CertificationDeclarationManager.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificationDeclarationManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAyBlC,qBAAa,+BAA+B;IACxC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,UAAQ;CAmB7E"}
1
+ {"version":3,"file":"CertificationDeclarationManager.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificationDeclarationManager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAS,MAAM,EAAc,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAyBlC,qBAAa,+BAA+B;IACxC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,UAAQ;CAmB7F"}
@@ -8,7 +8,7 @@ import { CertificateManager, TlvCertificationDeclaration } from "./CertificateMa
8
8
  const TestCMS_SignerPrivateKey = Bytes.fromHex("AEF3484116E9481EC57BE0472DF41BF499064E5024AD869ECA5E889802D48075");
9
9
  const TestCMS_SignerSubjectKeyIdentifier = Bytes.fromHex("62FA823359ACFAA9963E1CFA140ADDF504F37160");
10
10
  class CertificationDeclarationManager {
11
- static generate(vendorId, productId, provisional = false) {
11
+ static generate(crypto, vendorId, productId, provisional = false) {
12
12
  const certificationElements = TlvCertificationDeclaration.encode({
13
13
  formatVersion: 1,
14
14
  vendorId,
@@ -21,7 +21,7 @@ class CertificationDeclarationManager {
21
21
  certificationType: provisional ? 1 : 0
22
22
  // 0 = Test, 1 = Provisional/In certification, 2 = official
23
23
  });
24
- return CertificateManager.certificationDeclarationToAsn1(
24
+ return new CertificateManager(crypto).certificationDeclarationToAsn1(
25
25
  certificationElements,
26
26
  TestCMS_SignerSubjectKeyIdentifier,
27
27
  PrivateKey(TestCMS_SignerPrivateKey)
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/certificate/CertificationDeclarationManager.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,OAAO,kBAAkB;AAElC,SAAS,oBAAoB,mCAAmC;AAchE,MAAM,2BAA2B,MAAM,QAAQ,kEAAkE;AAQjH,MAAM,qCAAqC,MAAM,QAAQ,0CAA0C;AAE5F,MAAM,gCAAgC;AAAA,EACzC,OAAO,SAAS,UAAoB,WAAmB,cAAc,OAAO;AACxE,UAAM,wBAAwB,4BAA4B,OAAO;AAAA,MAC7D,eAAe;AAAA,MACf;AAAA,MACA,gBAAgB,CAAC,SAAS;AAAA,MAC1B,cAAc;AAAA,MACd,eAAe;AAAA,MACf,eAAe;AAAA,MACf,qBAAqB;AAAA,MACrB,eAAe;AAAA,MACf,mBAAmB,cAAc,IAAI;AAAA;AAAA,IACzC,CAAC;AAED,WAAO,mBAAmB;AAAA,MACtB;AAAA,MACA;AAAA,MACA,WAAW,wBAAwB;AAAA,IACvC;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAKA,SAAS,OAAe,kBAAkB;AAE1C,SAAS,oBAAoB,mCAAmC;AAchE,MAAM,2BAA2B,MAAM,QAAQ,kEAAkE;AAQjH,MAAM,qCAAqC,MAAM,QAAQ,0CAA0C;AAE5F,MAAM,gCAAgC;AAAA,EACzC,OAAO,SAAS,QAAgB,UAAoB,WAAmB,cAAc,OAAO;AACxF,UAAM,wBAAwB,4BAA4B,OAAO;AAAA,MAC7D,eAAe;AAAA,MACf;AAAA,MACA,gBAAgB,CAAC,SAAS;AAAA,MAC1B,cAAc;AAAA,MACd,eAAe;AAAA,MACf,eAAe;AAAA,MACf,qBAAqB;AAAA,MACrB,eAAe;AAAA,MACf,mBAAmB,cAAc,IAAI;AAAA;AAAA,IACzC,CAAC;AAED,WAAO,IAAI,mBAAmB,MAAM,EAAE;AAAA,MAClC;AAAA,MACA;AAAA,MACA,WAAW,wBAAwB;AAAA,IACvC;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,7 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Construction, PrivateKey } from "#general";
6
+ import { Construction, Crypto, PrivateKey } from "#general";
7
7
  import { NodeSession } from "#session/NodeSession.js";
8
8
  import { ProductDescription } from "#types";
9
9
  /**
@@ -15,7 +15,7 @@ export declare class DeviceCertification {
15
15
  get certificate(): Uint8Array<ArrayBufferLike>;
16
16
  get intermediateCertificate(): Uint8Array<ArrayBufferLike>;
17
17
  get declaration(): Uint8Array<ArrayBufferLike>;
18
- constructor(config?: DeviceCertification.Definition, product?: ProductDescription);
18
+ constructor(crypto: Crypto, config?: DeviceCertification.Definition, product?: ProductDescription);
19
19
  sign(session: NodeSession, data: Uint8Array): Promise<Uint8Array<ArrayBufferLike>>;
20
20
  }
21
21
  export declare namespace DeviceCertification {
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceCertification.d.ts","sourceRoot":"","sources":["../../../src/certificate/DeviceCertification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAA8C,UAAU,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C;;GAEG;AACH,qBAAa,mBAAmB;;IAO5B,IAAI,YAAY,sCAEf;IAED,IAAI,WAAW,gCAEd;IAED,IAAI,uBAAuB,gCAE1B;IAED,IAAI,WAAW,gCAEd;gBAEW,MAAM,CAAC,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAmC3E,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU;CA6BpD;AAED,yBAAiB,mBAAmB,CAAC;IACjC,UAAiB,aAAa;QAC1B,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;QACxB,uBAAuB,EAAE,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;KAC3B;IAED,KAAY,UAAU,GAAG,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;CAC3E"}
1
+ {"version":3,"file":"DeviceCertification.d.ts","sourceRoot":"","sources":["../../../src/certificate/DeviceCertification.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,EAAsC,UAAU,EAAE,MAAM,UAAU,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAI5C;;GAEG;AACH,qBAAa,mBAAmB;;IAQ5B,IAAI,YAAY,sCAEf;IAED,IAAI,WAAW,gCAEd;IAED,IAAI,uBAAuB,gCAE1B;IAED,IAAI,WAAW,gCAEd;gBAEW,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,mBAAmB,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAwC3F,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU;CA6BpD;AAED,yBAAiB,mBAAmB,CAAC;IACjC,UAAiB,aAAa;QAC1B,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;QACxB,uBAAuB,EAAE,UAAU,CAAC;QACpC,WAAW,EAAE,UAAU,CAAC;KAC3B;IAED,KAAY,UAAU,GAAG,aAAa,GAAG,CAAC,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;CAC3E"}
@@ -3,10 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Construction, Crypto, ImplementationError, InternalError, PrivateKey } from "#general";
6
+ import { Construction, ImplementationError, InternalError, PrivateKey } from "#general";
7
7
  import { AttestationCertificateManager } from "./AttestationCertificateManager.js";
8
8
  import { CertificationDeclarationManager } from "./CertificationDeclarationManager.js";
9
9
  class DeviceCertification {
10
+ #crypto;
10
11
  #privateKey;
11
12
  #certificate;
12
13
  #intermediateCertificate;
@@ -24,7 +25,8 @@ class DeviceCertification {
24
25
  get declaration() {
25
26
  return this.#assertInitialized().declaration;
26
27
  }
27
- constructor(config, product) {
28
+ constructor(crypto, config, product) {
29
+ this.#crypto = crypto;
28
30
  let configProvider;
29
31
  if (typeof config === "function") {
30
32
  configProvider = config;
@@ -35,13 +37,17 @@ class DeviceCertification {
35
37
  if (product === void 0) {
36
38
  throw new ImplementationError(`Cannot generate device certification without product information`);
37
39
  }
38
- const paa = await AttestationCertificateManager.create(product.vendorId);
40
+ const paa = await AttestationCertificateManager.create(crypto, product.vendorId);
39
41
  const { keyPair: dacKeyPair, dac } = await paa.getDACert(product.productId);
40
42
  return {
41
43
  privateKey: PrivateKey(dacKeyPair.privateKey),
42
44
  certificate: dac,
43
45
  intermediateCertificate: await paa.getPAICert(),
44
- declaration: await CertificationDeclarationManager.generate(product.vendorId, product.productId)
46
+ declaration: await CertificationDeclarationManager.generate(
47
+ crypto,
48
+ product.vendorId,
49
+ product.productId
50
+ )
45
51
  };
46
52
  };
47
53
  }
@@ -55,7 +61,7 @@ class DeviceCertification {
55
61
  }
56
62
  async sign(session, data) {
57
63
  const { privateKey } = this.#assertInitialized();
58
- const signature = await Crypto.signEcdsa(privateKey, [data, session.attestationChallengeKey]);
64
+ const signature = await this.#crypto.signEcdsa(privateKey, [data, session.attestationChallengeKey]);
59
65
  return signature;
60
66
  }
61
67
  /**
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/certificate/DeviceCertification.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAc,QAAQ,qBAAqB,eAAe,kBAAkB;AAGrF,SAAS,qCAAqC;AAC9C,SAAS,uCAAuC;AAKzC,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EAET,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,0BAA0B;AAC1B,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,YAAY,QAAyC,SAA8B;AAC/E,QAAI;AACJ,QAAI,OAAO,WAAW,YAAY;AAC9B,uBAAiB;AAAA,IACrB,WAAW,QAAQ;AACf,uBAAiB,MAAM;AAAA,IAC3B,OAAO;AACH,uBAAiB,YAAY;AACzB,YAAI,YAAY,QAAW;AACvB,gBAAM,IAAI,oBAAoB,kEAAkE;AAAA,QACpG;AAEA,cAAM,MAAM,MAAM,8BAA8B,OAAO,QAAQ,QAAQ;AACvE,cAAM,EAAE,SAAS,YAAY,IAAI,IAAI,MAAM,IAAI,UAAU,QAAQ,SAAS;AAE1E,eAAO;AAAA,UACH,YAAY,WAAW,WAAW,UAAU;AAAA,UAC5C,aAAa;AAAA,UACb,yBAAyB,MAAM,IAAI,WAAW;AAAA,UAC9C,aAAa,MAAM,gCAAgC,SAAS,QAAQ,UAAU,QAAQ,SAAS;AAAA,QACnG;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,gBAAgB,aAAa,MAAM,YAAY;AAChD,YAAMA,UAAS,MAAM,eAAe;AAEpC,WAAK,cACDA,QAAO,sBAAsB,aAAa,WAAWA,QAAO,UAAU,IAAIA,QAAO;AACrF,WAAK,eAAeA,QAAO;AAC3B,WAAK,2BAA2BA,QAAO;AACvC,WAAK,eAAeA,QAAO;AAAA,IAC/B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,KAAK,SAAsB,MAAkB;AAC/C,UAAM,EAAE,WAAW,IAAI,KAAK,mBAAmB;AAC/C,UAAM,YAAY,MAAM,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,uBAAuB,CAAC;AAC5F,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB;AACjB,SAAK,cAAc,OAAO;AAC1B,QACI,KAAK,iBAAiB,UACtB,KAAK,6BAA6B,UAClC,KAAK,iBAAiB,UACtB,KAAK,gBAAgB,QACvB;AACE,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,MACH,aAAa,KAAK;AAAA,MAClB,yBAAyB,KAAK;AAAA,MAC9B,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,cAAsB,qBAAqB,eAAe,kBAAkB;AAGrF,SAAS,qCAAqC;AAC9C,SAAS,uCAAuC;AAKzC,MAAM,oBAAoB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACS;AAAA,EAET,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,0BAA0B;AAC1B,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK,mBAAmB,EAAE;AAAA,EACrC;AAAA,EAEA,YAAY,QAAgB,QAAyC,SAA8B;AAC/F,SAAK,UAAU;AACf,QAAI;AACJ,QAAI,OAAO,WAAW,YAAY;AAC9B,uBAAiB;AAAA,IACrB,WAAW,QAAQ;AACf,uBAAiB,MAAM;AAAA,IAC3B,OAAO;AACH,uBAAiB,YAAY;AACzB,YAAI,YAAY,QAAW;AACvB,gBAAM,IAAI,oBAAoB,kEAAkE;AAAA,QACpG;AAEA,cAAM,MAAM,MAAM,8BAA8B,OAAO,QAAQ,QAAQ,QAAQ;AAC/E,cAAM,EAAE,SAAS,YAAY,IAAI,IAAI,MAAM,IAAI,UAAU,QAAQ,SAAS;AAE1E,eAAO;AAAA,UACH,YAAY,WAAW,WAAW,UAAU;AAAA,UAC5C,aAAa;AAAA,UACb,yBAAyB,MAAM,IAAI,WAAW;AAAA,UAC9C,aAAa,MAAM,gCAAgC;AAAA,YAC/C;AAAA,YACA,QAAQ;AAAA,YACR,QAAQ;AAAA,UACZ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAEA,SAAK,gBAAgB,aAAa,MAAM,YAAY;AAChD,YAAMA,UAAS,MAAM,eAAe;AAEpC,WAAK,cACDA,QAAO,sBAAsB,aAAa,WAAWA,QAAO,UAAU,IAAIA,QAAO;AACrF,WAAK,eAAeA,QAAO;AAC3B,WAAK,2BAA2BA,QAAO;AACvC,WAAK,eAAeA,QAAO;AAAA,IAC/B,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,KAAK,SAAsB,MAAkB;AAC/C,UAAM,EAAE,WAAW,IAAI,KAAK,mBAAmB;AAC/C,UAAM,YAAY,MAAM,KAAK,QAAQ,UAAU,YAAY,CAAC,MAAM,QAAQ,uBAAuB,CAAC;AAClG,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB;AACjB,SAAK,cAAc,OAAO;AAC1B,QACI,KAAK,iBAAiB,UACtB,KAAK,6BAA6B,UAClC,KAAK,iBAAiB,UACtB,KAAK,gBAAgB,QACvB;AACE,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,WAAO;AAAA,MACH,aAAa,KAAK;AAAA,MAClB,yBAAyB,KAAK;AAAA,MAC9B,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,IACrB;AAAA,EACJ;AACJ;",
5
5
  "names": ["config"]
6
6
  }
@@ -34,7 +34,7 @@ class FailsafeContext {
34
34
  this.#fabrics = options.fabrics;
35
35
  this.#associatedFabric = options.associatedFabric;
36
36
  this.#construction = Construction(this, async () => {
37
- this.#fabricBuilder = await FabricBuilder.create();
37
+ this.#fabricBuilder = await FabricBuilder.create(this.#fabrics.crypto);
38
38
  await Promise.resolve();
39
39
  await this.storeEndpointState();
40
40
  this.#failsafe = new FailsafeTimer(
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/common/FailsafeContext.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,7 +3,8 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BinaryKeyPair, Key, MatterError, MaybePromise, PrivateKey, StorageContext } from "#general";
6
+ import { CertificateManager } from "#certificate/CertificateManager.js";
7
+ import { BinaryKeyPair, Crypto, Key, MatterError, MaybePromise, PrivateKey, StorageContext } from "#general";
7
8
  import { FabricGroups } from "#groups/FabricGroups.js";
8
9
  import { FabricAccessControl } from "#interaction/FabricAccessControl.js";
9
10
  import { PeerAddress } from "#peer/PeerAddress.js";
@@ -33,7 +34,8 @@ export declare class Fabric {
33
34
  readonly operationalIdentityProtectionKey: Uint8Array;
34
35
  readonly intermediateCACert: Uint8Array | undefined;
35
36
  readonly operationalCert: Uint8Array;
36
- constructor(config: Fabric.Config);
37
+ constructor(certs: CertificateManager | Crypto, config: Fabric.Config);
38
+ get crypto(): Crypto;
37
39
  get config(): Fabric.Config;
38
40
  get label(): string;
39
41
  setLabel(label: string): Promise<void>;
@@ -69,8 +71,8 @@ export declare class Fabric {
69
71
  }
70
72
  export declare class FabricBuilder {
71
73
  #private;
72
- constructor(key: PrivateKey);
73
- static create(): Promise<FabricBuilder>;
74
+ constructor(crypto: Crypto, key: PrivateKey);
75
+ static create(crypto: Crypto): Promise<FabricBuilder>;
74
76
  get publicKey(): Uint8Array<ArrayBufferLike>;
75
77
  get fabricIndex(): FabricIndex | undefined;
76
78
  createCertificateSigningRequest(): Promise<Uint8Array<ArrayBufferLike>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}