@matter/general 0.16.0-alpha.0-20250812-285b75d83 → 0.16.0-alpha.0-20250815-ac9fd6eb0

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 (219) hide show
  1. package/dist/cjs/codec/DerCodec.d.ts +15 -14
  2. package/dist/cjs/codec/DerCodec.d.ts.map +1 -1
  3. package/dist/cjs/codec/DerCodec.js +19 -25
  4. package/dist/cjs/codec/DerCodec.js.map +1 -1
  5. package/dist/cjs/codec/DerTypes.d.ts +9 -8
  6. package/dist/cjs/codec/DerTypes.d.ts.map +1 -1
  7. package/dist/cjs/codec/DerTypes.js.map +1 -1
  8. package/dist/cjs/codec/DnsCodec.d.ts +16 -16
  9. package/dist/cjs/codec/DnsCodec.d.ts.map +1 -1
  10. package/dist/cjs/codec/DnsCodec.js +7 -7
  11. package/dist/cjs/codec/DnsCodec.js.map +1 -1
  12. package/dist/cjs/crypto/Crypto.d.ts +11 -10
  13. package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
  14. package/dist/cjs/crypto/Crypto.js +4 -4
  15. package/dist/cjs/crypto/Crypto.js.map +1 -1
  16. package/dist/cjs/crypto/Key.d.ts +22 -21
  17. package/dist/cjs/crypto/Key.d.ts.map +1 -1
  18. package/dist/cjs/crypto/Key.js +17 -16
  19. package/dist/cjs/crypto/Key.js.map +1 -1
  20. package/dist/cjs/crypto/MockCrypto.d.ts.map +1 -1
  21. package/dist/cjs/crypto/MockCrypto.js +2 -1
  22. package/dist/cjs/crypto/MockCrypto.js.map +1 -1
  23. package/dist/cjs/crypto/Spake2p.d.ts +12 -11
  24. package/dist/cjs/crypto/Spake2p.d.ts.map +1 -1
  25. package/dist/cjs/crypto/Spake2p.js +15 -11
  26. package/dist/cjs/crypto/Spake2p.js.map +1 -1
  27. package/dist/cjs/crypto/StandardCrypto.d.ts +12 -11
  28. package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -1
  29. package/dist/cjs/crypto/StandardCrypto.js +27 -17
  30. package/dist/cjs/crypto/StandardCrypto.js.map +1 -1
  31. package/dist/cjs/crypto/aes/Aes.d.ts +2 -1
  32. package/dist/cjs/crypto/aes/Aes.d.ts.map +1 -1
  33. package/dist/cjs/crypto/aes/Aes.js +3 -1
  34. package/dist/cjs/crypto/aes/Aes.js.map +1 -1
  35. package/dist/cjs/crypto/aes/Ccm.d.ts +4 -3
  36. package/dist/cjs/crypto/aes/Ccm.d.ts.map +1 -1
  37. package/dist/cjs/crypto/aes/Ccm.js.map +1 -1
  38. package/dist/cjs/log/Diagnostic.js +1 -1
  39. package/dist/cjs/log/Diagnostic.js.map +1 -1
  40. package/dist/cjs/log/LogFormat.js +1 -1
  41. package/dist/cjs/log/LogFormat.js.map +1 -1
  42. package/dist/cjs/log/Logger.js +1 -1
  43. package/dist/cjs/log/Logger.js.map +1 -1
  44. package/dist/cjs/net/NetInterface.d.ts +2 -1
  45. package/dist/cjs/net/NetInterface.d.ts.map +1 -1
  46. package/dist/cjs/net/NetInterface.js.map +1 -1
  47. package/dist/cjs/net/TransportInterface.d.ts +2 -1
  48. package/dist/cjs/net/TransportInterface.d.ts.map +1 -1
  49. package/dist/cjs/net/TransportInterface.js.map +1 -1
  50. package/dist/cjs/net/UdpChannel.d.ts +3 -3
  51. package/dist/cjs/net/UdpChannel.d.ts.map +1 -1
  52. package/dist/cjs/net/UdpInterface.d.ts +4 -3
  53. package/dist/cjs/net/UdpInterface.d.ts.map +1 -1
  54. package/dist/cjs/net/UdpInterface.js.map +1 -1
  55. package/dist/cjs/net/UdpMulticastServer.d.ts +3 -2
  56. package/dist/cjs/net/UdpMulticastServer.d.ts.map +1 -1
  57. package/dist/cjs/net/UdpMulticastServer.js.map +1 -1
  58. package/dist/cjs/net/mock/MockRouter.d.ts +1 -1
  59. package/dist/cjs/net/mock/MockRouter.d.ts.map +1 -1
  60. package/dist/cjs/net/mock/MockUdpChannel.d.ts +1 -1
  61. package/dist/cjs/net/mock/MockUdpChannel.d.ts.map +1 -1
  62. package/dist/cjs/net/mock/MockUdpChannel.js.map +1 -1
  63. package/dist/cjs/net/mock/NetworkSimulator.d.ts +1 -1
  64. package/dist/cjs/net/mock/NetworkSimulator.d.ts.map +1 -1
  65. package/dist/cjs/storage/Storage.d.ts +1 -1
  66. package/dist/cjs/storage/Storage.d.ts.map +1 -1
  67. package/dist/cjs/storage/StorageBackendMemory.d.ts +1 -1
  68. package/dist/cjs/storage/StorageBackendMemory.d.ts.map +1 -1
  69. package/dist/cjs/storage/StorageBackendMemory.js +7 -5
  70. package/dist/cjs/storage/StorageBackendMemory.js.map +1 -1
  71. package/dist/cjs/storage/StorageContext.d.ts +1 -1
  72. package/dist/cjs/storage/StorageContext.d.ts.map +1 -1
  73. package/dist/cjs/storage/StorageContext.js.map +1 -1
  74. package/dist/cjs/storage/StringifyTools.d.ts +2 -1
  75. package/dist/cjs/storage/StringifyTools.d.ts.map +1 -1
  76. package/dist/cjs/storage/StringifyTools.js +1 -1
  77. package/dist/cjs/storage/StringifyTools.js.map +1 -1
  78. package/dist/cjs/transaction/Tx.js +5 -1
  79. package/dist/cjs/transaction/Tx.js.map +1 -1
  80. package/dist/cjs/util/Bytes.d.ts +29 -11
  81. package/dist/cjs/util/Bytes.d.ts.map +1 -1
  82. package/dist/cjs/util/Bytes.js +30 -11
  83. package/dist/cjs/util/Bytes.js.map +1 -1
  84. package/dist/cjs/util/DataReader.d.ts +2 -2
  85. package/dist/cjs/util/DataReader.d.ts.map +1 -1
  86. package/dist/cjs/util/DataReader.js +1 -1
  87. package/dist/cjs/util/DataReader.js.map +1 -1
  88. package/dist/cjs/util/DataWriter.d.ts +3 -3
  89. package/dist/cjs/util/DataWriter.d.ts.map +1 -1
  90. package/dist/cjs/util/DataWriter.js +1 -1
  91. package/dist/cjs/util/DataWriter.js.map +1 -1
  92. package/dist/cjs/util/String.d.ts.map +1 -1
  93. package/dist/cjs/util/String.js +3 -8
  94. package/dist/cjs/util/String.js.map +1 -1
  95. package/dist/esm/codec/DerCodec.d.ts +15 -14
  96. package/dist/esm/codec/DerCodec.d.ts.map +1 -1
  97. package/dist/esm/codec/DerCodec.js +19 -25
  98. package/dist/esm/codec/DerCodec.js.map +1 -1
  99. package/dist/esm/codec/DerTypes.d.ts +9 -8
  100. package/dist/esm/codec/DerTypes.d.ts.map +1 -1
  101. package/dist/esm/codec/DerTypes.js.map +1 -1
  102. package/dist/esm/codec/DnsCodec.d.ts +16 -16
  103. package/dist/esm/codec/DnsCodec.d.ts.map +1 -1
  104. package/dist/esm/codec/DnsCodec.js +7 -7
  105. package/dist/esm/codec/DnsCodec.js.map +1 -1
  106. package/dist/esm/crypto/Crypto.d.ts +11 -10
  107. package/dist/esm/crypto/Crypto.d.ts.map +1 -1
  108. package/dist/esm/crypto/Crypto.js +4 -4
  109. package/dist/esm/crypto/Crypto.js.map +1 -1
  110. package/dist/esm/crypto/Key.d.ts +22 -21
  111. package/dist/esm/crypto/Key.d.ts.map +1 -1
  112. package/dist/esm/crypto/Key.js +17 -16
  113. package/dist/esm/crypto/Key.js.map +1 -1
  114. package/dist/esm/crypto/MockCrypto.d.ts.map +1 -1
  115. package/dist/esm/crypto/MockCrypto.js +2 -1
  116. package/dist/esm/crypto/MockCrypto.js.map +1 -1
  117. package/dist/esm/crypto/Spake2p.d.ts +12 -11
  118. package/dist/esm/crypto/Spake2p.d.ts.map +1 -1
  119. package/dist/esm/crypto/Spake2p.js +15 -11
  120. package/dist/esm/crypto/Spake2p.js.map +1 -1
  121. package/dist/esm/crypto/StandardCrypto.d.ts +12 -11
  122. package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -1
  123. package/dist/esm/crypto/StandardCrypto.js +27 -17
  124. package/dist/esm/crypto/StandardCrypto.js.map +1 -1
  125. package/dist/esm/crypto/aes/Aes.d.ts +2 -1
  126. package/dist/esm/crypto/aes/Aes.d.ts.map +1 -1
  127. package/dist/esm/crypto/aes/Aes.js +3 -1
  128. package/dist/esm/crypto/aes/Aes.js.map +1 -1
  129. package/dist/esm/crypto/aes/Ccm.d.ts +4 -3
  130. package/dist/esm/crypto/aes/Ccm.d.ts.map +1 -1
  131. package/dist/esm/crypto/aes/Ccm.js.map +1 -1
  132. package/dist/esm/log/Diagnostic.js +1 -1
  133. package/dist/esm/log/Diagnostic.js.map +1 -1
  134. package/dist/esm/log/LogFormat.js +1 -1
  135. package/dist/esm/log/LogFormat.js.map +1 -1
  136. package/dist/esm/log/Logger.js +1 -1
  137. package/dist/esm/log/Logger.js.map +1 -1
  138. package/dist/esm/net/NetInterface.d.ts +2 -1
  139. package/dist/esm/net/NetInterface.d.ts.map +1 -1
  140. package/dist/esm/net/NetInterface.js.map +1 -1
  141. package/dist/esm/net/TransportInterface.d.ts +2 -1
  142. package/dist/esm/net/TransportInterface.d.ts.map +1 -1
  143. package/dist/esm/net/TransportInterface.js.map +1 -1
  144. package/dist/esm/net/UdpChannel.d.ts +3 -3
  145. package/dist/esm/net/UdpChannel.d.ts.map +1 -1
  146. package/dist/esm/net/UdpInterface.d.ts +4 -3
  147. package/dist/esm/net/UdpInterface.d.ts.map +1 -1
  148. package/dist/esm/net/UdpInterface.js.map +1 -1
  149. package/dist/esm/net/UdpMulticastServer.d.ts +3 -2
  150. package/dist/esm/net/UdpMulticastServer.d.ts.map +1 -1
  151. package/dist/esm/net/UdpMulticastServer.js.map +1 -1
  152. package/dist/esm/net/mock/MockRouter.d.ts +1 -1
  153. package/dist/esm/net/mock/MockRouter.d.ts.map +1 -1
  154. package/dist/esm/net/mock/MockUdpChannel.d.ts +1 -1
  155. package/dist/esm/net/mock/MockUdpChannel.d.ts.map +1 -1
  156. package/dist/esm/net/mock/MockUdpChannel.js.map +1 -1
  157. package/dist/esm/net/mock/NetworkSimulator.d.ts +1 -1
  158. package/dist/esm/net/mock/NetworkSimulator.d.ts.map +1 -1
  159. package/dist/esm/storage/Storage.d.ts +1 -1
  160. package/dist/esm/storage/Storage.d.ts.map +1 -1
  161. package/dist/esm/storage/StorageBackendMemory.d.ts +1 -1
  162. package/dist/esm/storage/StorageBackendMemory.d.ts.map +1 -1
  163. package/dist/esm/storage/StorageBackendMemory.js +7 -5
  164. package/dist/esm/storage/StorageBackendMemory.js.map +1 -1
  165. package/dist/esm/storage/StorageContext.d.ts +1 -1
  166. package/dist/esm/storage/StorageContext.d.ts.map +1 -1
  167. package/dist/esm/storage/StorageContext.js.map +1 -1
  168. package/dist/esm/storage/StringifyTools.d.ts +2 -1
  169. package/dist/esm/storage/StringifyTools.d.ts.map +1 -1
  170. package/dist/esm/storage/StringifyTools.js +1 -1
  171. package/dist/esm/storage/StringifyTools.js.map +1 -1
  172. package/dist/esm/transaction/Tx.js +5 -1
  173. package/dist/esm/transaction/Tx.js.map +1 -1
  174. package/dist/esm/util/Bytes.d.ts +29 -11
  175. package/dist/esm/util/Bytes.d.ts.map +1 -1
  176. package/dist/esm/util/Bytes.js +31 -12
  177. package/dist/esm/util/Bytes.js.map +1 -1
  178. package/dist/esm/util/DataReader.d.ts +2 -2
  179. package/dist/esm/util/DataReader.d.ts.map +1 -1
  180. package/dist/esm/util/DataReader.js +1 -1
  181. package/dist/esm/util/DataReader.js.map +1 -1
  182. package/dist/esm/util/DataWriter.d.ts +3 -3
  183. package/dist/esm/util/DataWriter.d.ts.map +1 -1
  184. package/dist/esm/util/DataWriter.js +2 -2
  185. package/dist/esm/util/DataWriter.js.map +1 -1
  186. package/dist/esm/util/String.d.ts.map +1 -1
  187. package/dist/esm/util/String.js +3 -8
  188. package/dist/esm/util/String.js.map +1 -1
  189. package/package.json +2 -2
  190. package/src/codec/DerCodec.ts +32 -39
  191. package/src/codec/DerTypes.ts +4 -3
  192. package/src/codec/DnsCodec.ts +21 -21
  193. package/src/crypto/Crypto.ts +16 -26
  194. package/src/crypto/Key.ts +46 -41
  195. package/src/crypto/MockCrypto.ts +2 -1
  196. package/src/crypto/Spake2p.ts +26 -22
  197. package/src/crypto/StandardCrypto.ts +40 -31
  198. package/src/crypto/aes/Aes.ts +4 -2
  199. package/src/crypto/aes/Ccm.ts +4 -3
  200. package/src/log/Diagnostic.ts +1 -1
  201. package/src/log/LogFormat.ts +1 -1
  202. package/src/log/Logger.ts +1 -1
  203. package/src/net/NetInterface.ts +2 -1
  204. package/src/net/TransportInterface.ts +2 -1
  205. package/src/net/UdpChannel.ts +3 -3
  206. package/src/net/UdpInterface.ts +4 -3
  207. package/src/net/UdpMulticastServer.ts +3 -2
  208. package/src/net/mock/MockRouter.ts +1 -1
  209. package/src/net/mock/MockUdpChannel.ts +1 -1
  210. package/src/net/mock/NetworkSimulator.ts +1 -1
  211. package/src/storage/Storage.ts +1 -1
  212. package/src/storage/StorageBackendMemory.ts +8 -6
  213. package/src/storage/StorageContext.ts +1 -1
  214. package/src/storage/StringifyTools.ts +2 -2
  215. package/src/transaction/Tx.ts +5 -1
  216. package/src/util/Bytes.ts +59 -21
  217. package/src/util/DataReader.ts +2 -2
  218. package/src/util/DataWriter.ts +3 -3
  219. package/src/util/String.ts +3 -8
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes } from "../util/Bytes.js";
6
7
  export declare enum KeyType {
7
8
  EC = "EC",
8
9
  RSA = "RSA",
@@ -14,8 +15,8 @@ export declare enum CurveType {
14
15
  p521 = "P-521"
15
16
  }
16
17
  export type BinaryKeyPair = {
17
- publicKey: Uint8Array;
18
- privateKey: Uint8Array;
18
+ publicKey: Bytes;
19
+ privateKey: Bytes;
19
20
  };
20
21
  /**
21
22
  * Represents a cryptographic key.
@@ -75,34 +76,34 @@ export interface Key extends JsonWebKey {
75
76
  * Binary alias to private key field. Automatically encodes/decodes the
76
77
  * base-64 private key.
77
78
  */
78
- privateBits?: Uint8Array;
79
+ privateBits?: Bytes;
79
80
  /**
80
81
  * Binary alias to the x field. Automatically encodes/decodes the base-64
81
82
  * x-point on EC public keys.
82
83
  */
83
- xBits?: Uint8Array;
84
+ xBits?: Bytes;
84
85
  /**
85
86
  * Binary alias to the y field. Automatically encodes/decodes the base-64
86
87
  * y-point on EC public keys.
87
88
  */
88
- yBits?: Uint8Array;
89
+ yBits?: Bytes;
89
90
  /**
90
91
  * Import (write-only) of private keys encoded in SEC1 format.
91
92
  */
92
- sec1?: Uint8Array;
93
+ sec1?: Bytes;
93
94
  /**
94
95
  * Import (write-only) of private keys encoded in PKCS #8 format.
95
96
  */
96
- pkcs8?: Uint8Array;
97
+ pkcs8?: Bytes;
97
98
  /**
98
99
  * Import (write-only) of public keys encoded in SPKI format.
99
100
  */
100
- spki?: Uint8Array;
101
+ spki?: Bytes;
101
102
  /**
102
103
  * Import/export of EC public key in SEC1/SPKI format. Maps to x & y
103
104
  * fields internally.
104
105
  */
105
- publicBits?: Uint8Array;
106
+ publicBits?: Bytes;
106
107
  /**
107
108
  * Import/export of BinaryKeyPair structure used as an alternate
108
109
  * serialization format for legacy reasons.
@@ -111,11 +112,11 @@ export interface Key extends JsonWebKey {
111
112
  /**
112
113
  * Alias for publicBits that throws if no public key is present.
113
114
  */
114
- publicKey: Uint8Array;
115
+ publicKey: Bytes;
115
116
  /**
116
117
  * Alias for privateBits that throws if no private key is present.
117
118
  */
118
- privateKey: Uint8Array;
119
+ privateKey: Bytes;
119
120
  /**
120
121
  * Alias for keyPairBits that throws if a complete key pair is not present.
121
122
  */
@@ -129,9 +130,9 @@ export interface PublicKey extends Key {
129
130
  curve: CurveType;
130
131
  x: string;
131
132
  y: string;
132
- xBits: Uint8Array;
133
- yBits: Uint8Array;
134
- publicBits: Uint8Array;
133
+ xBits: Bytes;
134
+ yBits: Bytes;
135
+ publicBits: Bytes;
135
136
  }
136
137
  /**
137
138
  * EC key with extractable private fields.
@@ -139,11 +140,11 @@ export interface PublicKey extends Key {
139
140
  export interface PrivateKey extends PublicKey {
140
141
  private: string;
141
142
  d: string;
142
- privateBits: Uint8Array;
143
- privateKey: Uint8Array;
143
+ privateBits: Bytes;
144
+ privateKey: Bytes;
144
145
  keyPair: BinaryKeyPair;
145
146
  keyPairBits: BinaryKeyPair;
146
- sharedSecretFor(peerKey: PublicKey): Uint8Array;
147
+ sharedSecretFor(peerKey: PublicKey): Bytes;
147
148
  }
148
149
  /**
149
150
  * Symmetric key.
@@ -160,19 +161,19 @@ export declare function Key(properties: Partial<Key>): Key;
160
161
  /**
161
162
  * EC private key factory.
162
163
  */
163
- export declare function PrivateKey(privateKey: Uint8Array | BinaryKeyPair, options?: Partial<Key>): PrivateKey;
164
+ export declare function PrivateKey(privateKey: Bytes | BinaryKeyPair, options?: Partial<Key>): PrivateKey;
164
165
  /**
165
166
  * EC public key factory.
166
167
  */
167
- export declare function PublicKey(publicKey: Uint8Array, options?: Partial<Key>): PublicKey;
168
+ export declare function PublicKey(publicKey: Bytes, options?: Partial<Key>): PublicKey;
168
169
  /**
169
170
  * Symmetric key factory.
170
171
  */
171
- export declare function SymmetricKey(privateKey: Uint8Array, options?: Partial<Key>): Key;
172
+ export declare function SymmetricKey(privateKey: Bytes, options?: Partial<Key>): Key;
172
173
  /**
173
174
  * Diffie-Hellman shared secret computation.
174
175
  *
175
176
  * We provide this for platforms without a native implementation.
176
177
  */
177
- export declare function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Uint8Array;
178
+ export declare function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Bytes;
178
179
  //# sourceMappingURL=Key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAkCH,oBAAY,OAAO;IACf,EAAE,OAAO;IACT,GAAG,QAAQ;IACX,GAAG,QAAQ;CACd;AAED,oBAAY,SAAS;IACjB,IAAI,UAAU;IACd,IAAI,UAAU;IACd,IAAI,UAAU;CACjB;AAeD,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CAC1B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,WAAW,GAAI,SAAQ,UAAU;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEvB;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAElB;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAEnB;;;OAGG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;IAEzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,WAAW,CAAC,EAAE,UAAU,CAAC;IAEzB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;;OAGG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,WAAW,CAAC,EAAE,aAAa,CAAC;IAE5B;;OAEG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;OAEG;IACH,UAAU,EAAE,UAAU,CAAC;IAEvB;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,GAAG;IAClC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,SAAS;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,WAAW,EAAE,UAAU,CAAC;IACxB,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,aAAa,CAAC;IAC3B,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,UAAU,CAAC;CACnD;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,GAAG;IACrC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;CACb;AAsOD;;GAEG;AACH,wBAAgB,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,OAsG3C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAcxE,UAAU,CAC1B;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAK7D,SAAS,CAClB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,OAM1E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,UAAU,CAEhF"}
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
@@ -86,13 +86,13 @@ const CurveLookup = {
86
86
  ["0103840023" /* prime521r1 */]: "P-521" /* p521 */
87
87
  };
88
88
  function checkDerVersion(type, node, version) {
89
- const derVersion = node && node._tag === import_DerCodec.DerType.Integer && node._bytes && node._bytes.length === 1 && node._bytes[0];
89
+ const derVersion = node && node._tag === import_DerCodec.DerType.Integer && node._bytes && node._bytes.byteLength === 1 && import_Bytes.Bytes.of(node._bytes)[0];
90
90
  if (derVersion !== version) {
91
91
  throw new import_CryptoError.KeyInputError(`${type} key version mismatch`);
92
92
  }
93
93
  }
94
94
  function getDerObjectID(type, node) {
95
- const id = node && node._tag === import_DerCodec.DerType.ObjectIdentifier && node._bytes?.length > 1 && node._bytes;
95
+ const id = node && node._tag === import_DerCodec.DerType.ObjectIdentifier && node._bytes?.byteLength > 1 && node._bytes;
96
96
  if (id) return id;
97
97
  throw new import_CryptoError.KeyInputError(`Missing object in ${type} key`);
98
98
  }
@@ -103,7 +103,7 @@ function getDerCurve(type, node) {
103
103
  throw new import_CryptoError.KeyInputError(`Unsupported ${type} EC curve`);
104
104
  }
105
105
  function getDerKey(type, node, derType = import_DerCodec.DerType.OctetString) {
106
- const key = node && node._tag === derType && node._bytes?.length > 1 && node._bytes;
106
+ const key = node && node._tag === derType && node._bytes?.byteLength > 1 && node._bytes;
107
107
  if (key) return key;
108
108
  throw new import_MatterError.MatterError(`Missing ${type} key node`);
109
109
  }
@@ -171,10 +171,11 @@ var Translators;
171
171
  };
172
172
  Translators2.publicBits = {
173
173
  set: function(input) {
174
- if (!(input.length % 2)) {
174
+ const data = import_Bytes.Bytes.of(input);
175
+ if (!(data.length % 2)) {
175
176
  throw new import_CryptoError.KeyInputError("Invalid public key encoding");
176
177
  }
177
- switch (input[0]) {
178
+ switch (data[0]) {
178
179
  case 2:
179
180
  case 3:
180
181
  throw new import_CryptoError.KeyInputError("Unsupported public key compression");
@@ -183,17 +184,17 @@ var Translators;
183
184
  case 5:
184
185
  throw new import_CryptoError.KeyInputError("Illegal public key format specifier");
185
186
  }
186
- const coordinateLength = (input.length - 1) / 2;
187
+ const coordinateLength = (data.length - 1) / 2;
187
188
  inferCurve(this, coordinateLength);
188
189
  this.type = "EC" /* EC */;
189
- this.xBits = input.slice(1, coordinateLength + 1);
190
- this.yBits = input.slice(coordinateLength + 1);
190
+ this.xBits = data.slice(1, coordinateLength + 1);
191
+ this.yBits = data.slice(coordinateLength + 1);
191
192
  },
192
193
  get: function() {
193
194
  if (this.xBits === void 0 || this.yBits === void 0) {
194
195
  return void 0;
195
196
  }
196
- return new Uint8Array([4, ...this.xBits, ...this.yBits]);
197
+ return import_Bytes.Bytes.concat(new Uint8Array([4]), this.xBits, this.yBits);
197
198
  }
198
199
  };
199
200
  Translators2.keyPairBits = {
@@ -208,8 +209,8 @@ var Translators;
208
209
  return;
209
210
  }
210
211
  return {
211
- publicKey: publicBits2,
212
- privateKey: privateBits
212
+ publicKey: import_Bytes.Bytes.of(publicBits2),
213
+ privateKey: import_Bytes.Bytes.of(privateBits)
213
214
  };
214
215
  }
215
216
  };
@@ -308,15 +309,15 @@ function Key(properties) {
308
309
  default:
309
310
  throw new import_CryptoError.KeyInputError(`Unsupported elliptic curve ${crv}`);
310
311
  }
311
- const ecKey = Point.fromPrivateKey(that.privateKey);
312
+ const ecKey = Point.fromPrivateKey(import_Bytes.Bytes.of(that.privateKey));
312
313
  that.xBits = numberToBytesBE(ecKey.x, keyLength);
313
314
  that.yBits = numberToBytesBE(ecKey.y, keyLength);
314
315
  }
315
316
  if (that.type === "EC" /* EC */) {
316
317
  if (that.d) {
317
- inferCurve(that, that.privateKey.length);
318
+ inferCurve(that, that.privateKey.byteLength);
318
319
  } else if (that.xBits) {
319
- inferCurve(that, that.xBits.length);
320
+ inferCurve(that, that.xBits.byteLength);
320
321
  }
321
322
  if (that.d && (!that.x || !that.y)) {
322
323
  derivePublicFromPrivate();
@@ -326,7 +327,7 @@ function Key(properties) {
326
327
  }
327
328
  function PrivateKey(privateKey, options) {
328
329
  let priv, pub;
329
- if (ArrayBuffer.isView(privateKey)) {
330
+ if (import_Bytes.Bytes.isBytes(privateKey)) {
330
331
  priv = privateKey;
331
332
  } else {
332
333
  priv = privateKey.privateKey;
@@ -355,6 +356,6 @@ function SymmetricKey(privateKey, options) {
355
356
  });
356
357
  }
357
358
  function sharedSecretFor(peerKey) {
358
- return getSharedSecret(this.privateBits, peerKey.publicBits);
359
+ return import_Bytes.Bytes.of(getSharedSecret(import_Bytes.Bytes.of(this.privateBits), import_Bytes.Bytes.of(peerKey.publicBits)));
359
360
  }
360
361
  //# sourceMappingURL=Key.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Key.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MockCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/MockCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,EAAM,MAAM,aAAa,CAAC;AAIzC;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAa,EAAE,cAAc,GAAE,UAAU,MAAuB,GAsC7E,UAAU,CAoB9B"}
1
+ {"version":3,"file":"MockCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/MockCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,MAAM,EAAM,MAAM,aAAa,CAAC;AAIzC;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAW,SAAQ,MAAM;IACtC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,KAAK,GAAE,MAAa,EAAE,cAAc,GAAE,UAAU,MAAuB,GAsC7E,UAAU,CAoB9B"}
@@ -22,6 +22,7 @@ __export(MockCrypto_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(MockCrypto_exports);
24
24
  var import_MatterError = require("#MatterError.js");
25
+ var import_Bytes = require("#util/Bytes.js");
25
26
  var import_Crypto = require("./Crypto.js");
26
27
  var import_Key = require("./Key.js");
27
28
  var import_StandardCrypto = require("./StandardCrypto.js");
@@ -68,7 +69,7 @@ function MockCrypto(index = 128, implementation = import_StandardCrypto.Standard
68
69
  return result;
69
70
  };
70
71
  crypto.createKeyPair = function getRandomDataNONENTROPIC() {
71
- const privateBits = import_Crypto.ec.mapHashToField(new Uint8Array(crypto.randomBytes(48)), import_Crypto.ec.p256.CURVE.n);
72
+ const privateBits = import_Crypto.ec.mapHashToField(import_Bytes.Bytes.of(crypto.randomBytes(48)), import_Crypto.ec.p256.CURVE.n);
72
73
  return (0, import_Key.Key)({
73
74
  kty: import_Key.KeyType.EC,
74
75
  crv: import_Key.CurveType.p256,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/MockCrypto.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,oBAA2B;AAC3B,iBAAoD;AACpD,4BAA+B;AAT/B;AAAA;AAAA;AAAA;AAAA;AAiCO,SAAS,WAAW,QAAgB,KAAM,iBAAmC,sCAAgB;AAChG,MAAI,QAAQ,KAAK,QAAQ,KAAK;AAC1B,UAAM,IAAI,uCAAoB,uCAAuC;AAAA,EACzE;AAEA,QAAM,SAAS,IAAI,eAAe;AAElC,QAAM,EAAE,aAAa,cAAc,IAAI;AAEvC,SAAO,iBAAiB,QAAQ;AAAA,IAC5B,OAAO;AAAA,MACH,MAAM;AACF,eAAO;AAAA,MACX;AAAA,MAEA,IAAI,UAAkB;AAClB,gBAAQ,WAAW;AAAA,MACvB;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,MAAM;AACF,eAAO,OAAO,gBAAgB;AAAA,MAClC;AAAA,MAEA,IAAI,UAAmB;AACnB,YAAI,UAAU;AACV,iBAAO,cAAc;AACrB,iBAAO,gBAAgB;AAAA,QAC3B,OAAO;AACH,yBAAe;AAAA,QACnB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,iBAAe;AAEf,SAAO;AAEP,WAAS,iBAAiB;AAEtB,WAAO,cAAc,SAAS,yBAAyB,QAAQ;AAC3D,YAAM,SAAS,IAAI,WAAW,MAAM;AACpC,aAAO,KAAK,KAAK;AACjB,aAAO;AAAA,IACX;AAGA,WAAO,gBAAgB,SAAS,2BAA2B;AACvD,YAAM,cAAc,iBAAG,eAAe,IAAI,WAAW,OAAO,YAAY,EAAE,CAAC,GAAG,iBAAG,KAAK,MAAM,CAAC;AAC7F,iBAAO,gBAAI;AAAA,QACP,KAAK,mBAAQ;AAAA,QACb,KAAK,qBAAU;AAAA,QACf;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAAoC;AACpC,mBAAsB;AACtB,oBAA2B;AAC3B,iBAAoD;AACpD,4BAA+B;AAV/B;AAAA;AAAA;AAAA;AAAA;AAkCO,SAAS,WAAW,QAAgB,KAAM,iBAAmC,sCAAgB;AAChG,MAAI,QAAQ,KAAK,QAAQ,KAAK;AAC1B,UAAM,IAAI,uCAAoB,uCAAuC;AAAA,EACzE;AAEA,QAAM,SAAS,IAAI,eAAe;AAElC,QAAM,EAAE,aAAa,cAAc,IAAI;AAEvC,SAAO,iBAAiB,QAAQ;AAAA,IAC5B,OAAO;AAAA,MACH,MAAM;AACF,eAAO;AAAA,MACX;AAAA,MAEA,IAAI,UAAkB;AAClB,gBAAQ,WAAW;AAAA,MACvB;AAAA,IACJ;AAAA,IAEA,UAAU;AAAA,MACN,MAAM;AACF,eAAO,OAAO,gBAAgB;AAAA,MAClC;AAAA,MAEA,IAAI,UAAmB;AACnB,YAAI,UAAU;AACV,iBAAO,cAAc;AACrB,iBAAO,gBAAgB;AAAA,QAC3B,OAAO;AACH,yBAAe;AAAA,QACnB;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AAED,iBAAe;AAEf,SAAO;AAEP,WAAS,iBAAiB;AAEtB,WAAO,cAAc,SAAS,yBAAyB,QAAQ;AAC3D,YAAM,SAAS,IAAI,WAAW,MAAM;AACpC,aAAO,KAAK,KAAK;AACjB,aAAO;AAAA,IACX;AAGA,WAAO,gBAAgB,SAAS,2BAA2B;AACvD,YAAM,cAAc,iBAAG,eAAe,mBAAM,GAAG,OAAO,YAAY,EAAE,CAAC,GAAG,iBAAG,KAAK,MAAM,CAAC;AACvF,iBAAO,gBAAI;AAAA,QACP,KAAK,mBAAQ;AAAA,QACb,KAAK,qBAAU;AAAA,QACf;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,10 +3,11 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes } from "../util/Bytes.js";
6
7
  import { Crypto } from "./Crypto.js";
7
8
  export interface PbkdfParameters {
8
9
  iterations: number;
9
- salt: Uint8Array;
10
+ salt: Bytes;
10
11
  }
11
12
  export declare class Spake2p {
12
13
  #private;
@@ -18,19 +19,19 @@ export declare class Spake2p {
18
19
  w0: bigint;
19
20
  L: Uint8Array<ArrayBufferLike>;
20
21
  }>;
21
- static create(crypto: Crypto, context: Uint8Array, w0: bigint): Spake2p;
22
- constructor(crypto: Crypto, context: Uint8Array, random: bigint, w0: bigint);
23
- computeX(): Uint8Array;
24
- computeY(): Uint8Array;
25
- computeSecretAndVerifiersFromY(w1: bigint, X: Uint8Array, Y: Uint8Array): Promise<{
22
+ static create(crypto: Crypto, context: Bytes, w0: bigint): Spake2p;
23
+ constructor(crypto: Crypto, context: Bytes, random: bigint, w0: bigint);
24
+ computeX(): Bytes;
25
+ computeY(): Bytes;
26
+ computeSecretAndVerifiersFromY(w1: bigint, X: Bytes, Y: Bytes): Promise<{
26
27
  Ke: Uint8Array<ArrayBuffer>;
27
- hAY: Uint8Array<ArrayBufferLike>;
28
- hBX: Uint8Array<ArrayBufferLike>;
28
+ hAY: AllowSharedBufferSource;
29
+ hBX: AllowSharedBufferSource;
29
30
  }>;
30
- computeSecretAndVerifiersFromX(L: Uint8Array, X: Uint8Array, Y: Uint8Array): Promise<{
31
+ computeSecretAndVerifiersFromX(L: Bytes, X: Bytes, Y: Bytes): Promise<{
31
32
  Ke: Uint8Array<ArrayBuffer>;
32
- hAY: Uint8Array<ArrayBufferLike>;
33
- hBX: Uint8Array<ArrayBufferLike>;
33
+ hAY: AllowSharedBufferSource;
34
+ hBX: AllowSharedBufferSource;
34
35
  }>;
35
36
  private computeSecretAndVerifiers;
36
37
  private computeTranscriptHash;
@@ -1 +1 @@
1
- {"version":3,"file":"Spake2p.d.ts","sourceRoot":"","sources":["../../../src/crypto/Spake2p.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,MAAM,EAAM,MAAM,aAAa,CAAC;AAgBzC,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,UAAU,CAAC;CACpB;AAED,qBAAa,OAAO;;WAMH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM;;;;WAS9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM;;;;IAMrF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM;gBAKjD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAO3E,QAAQ,IAAI,UAAU;IAKtB,QAAQ,IAAI,UAAU;IAKhB,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU;;;;;IAavE,8BAA8B,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU;;;;;YAalE,yBAAyB;IAevC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,YAAY;CAIvB"}
1
+ {"version":3,"file":"Spake2p.d.ts","sourceRoot":"","sources":["../../../src/crypto/Spake2p.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAU,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,MAAM,EAAM,MAAM,aAAa,CAAC;AAgBzC,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,KAAK,CAAC;CACf;AAED,qBAAa,OAAO;;WAMH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM;;;;WAW9E,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM;;;;IAMrF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM;gBAK5C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAOtE,QAAQ,IAAI,KAAK;IAKjB,QAAQ,IAAI,KAAK;IAKX,8BAA8B,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK;;;;;IAa7D,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK;;;;;YAanD,yBAAyB;IAiBvC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,YAAY;CAIvB"}
@@ -48,7 +48,9 @@ class Spake2p {
48
48
  static async computeW0W1(crypto, { iterations, salt }, pin) {
49
49
  const pinWriter = new import_DataWriter.DataWriter(import_Bytes.Endian.Little);
50
50
  pinWriter.writeUInt32(pin);
51
- const ws = await crypto.createPbkdf2Key(pinWriter.toByteArray(), salt, iterations, CRYPTO_W_SIZE_BYTES * 2);
51
+ const ws = import_Bytes.Bytes.of(
52
+ await crypto.createPbkdf2Key(pinWriter.toByteArray(), salt, iterations, CRYPTO_W_SIZE_BYTES * 2)
53
+ );
52
54
  const w0 = mod(bytesToNumberBE(ws.slice(0, 40)), P256_CURVE.n);
53
55
  const w1 = mod(bytesToNumberBE(ws.slice(40, 80)), P256_CURVE.n);
54
56
  return { w0, w1 };
@@ -77,7 +79,7 @@ class Spake2p {
77
79
  return Y.toRawBytes(false);
78
80
  }
79
81
  async computeSecretAndVerifiersFromY(w1, X, Y) {
80
- const YPoint = ProjectivePoint.fromHex(Y);
82
+ const YPoint = ProjectivePoint.fromHex(import_Bytes.Bytes.of(Y));
81
83
  try {
82
84
  YPoint.assertValidity();
83
85
  } catch (error) {
@@ -86,11 +88,11 @@ class Spake2p {
86
88
  const yNwo = YPoint.add(N.multiply(this.#w0).negate());
87
89
  const Z = yNwo.multiply(this.#random);
88
90
  const V = yNwo.multiply(w1);
89
- return this.computeSecretAndVerifiers(X, Y, Z.toRawBytes(false), V.toRawBytes(false));
91
+ return this.computeSecretAndVerifiers(X, Y, import_Bytes.Bytes.of(Z.toRawBytes(false)), import_Bytes.Bytes.of(V.toRawBytes(false)));
90
92
  }
91
93
  async computeSecretAndVerifiersFromX(L, X, Y) {
92
- const XPoint = ProjectivePoint.fromHex(X);
93
- const LPoint = ProjectivePoint.fromHex(L);
94
+ const XPoint = ProjectivePoint.fromHex(import_Bytes.Bytes.of(X));
95
+ const LPoint = ProjectivePoint.fromHex(import_Bytes.Bytes.of(L));
94
96
  try {
95
97
  XPoint.assertValidity();
96
98
  } catch (error) {
@@ -98,13 +100,15 @@ class Spake2p {
98
100
  }
99
101
  const Z = XPoint.add(M.multiply(this.#w0).negate()).multiply(this.#random);
100
102
  const V = LPoint.multiply(this.#random);
101
- return this.computeSecretAndVerifiers(X, Y, Z.toRawBytes(false), V.toRawBytes(false));
103
+ return this.computeSecretAndVerifiers(X, Y, import_Bytes.Bytes.of(Z.toRawBytes(false)), import_Bytes.Bytes.of(V.toRawBytes(false)));
102
104
  }
103
105
  async computeSecretAndVerifiers(X, Y, Z, V) {
104
- const TT_HASH = await this.computeTranscriptHash(X, Y, Z, V);
106
+ const TT_HASH = import_Bytes.Bytes.of(await this.computeTranscriptHash(X, Y, Z, V));
105
107
  const Ka = TT_HASH.slice(0, 16);
106
108
  const Ke = TT_HASH.slice(16, 32);
107
- const KcAB = await this.#crypto.createHkdfKey(Ka, new Uint8Array(0), import_Bytes.Bytes.fromString("ConfirmationKeys"), 32);
109
+ const KcAB = import_Bytes.Bytes.of(
110
+ await this.#crypto.createHkdfKey(Ka, new Uint8Array(0), import_Bytes.Bytes.fromString("ConfirmationKeys"), 32)
111
+ );
108
112
  const KcA = KcAB.slice(0, 16);
109
113
  const KcB = KcAB.slice(16, 32);
110
114
  const hAY = await this.#crypto.signHmac(KcA, Y);
@@ -116,8 +120,8 @@ class Spake2p {
116
120
  this.addToContext(TTwriter, this.#context);
117
121
  this.addToContext(TTwriter, import_Bytes.Bytes.fromString(""));
118
122
  this.addToContext(TTwriter, import_Bytes.Bytes.fromString(""));
119
- this.addToContext(TTwriter, M.toRawBytes(false));
120
- this.addToContext(TTwriter, N.toRawBytes(false));
123
+ this.addToContext(TTwriter, import_Bytes.Bytes.of(M.toRawBytes(false)));
124
+ this.addToContext(TTwriter, import_Bytes.Bytes.of(N.toRawBytes(false)));
121
125
  this.addToContext(TTwriter, X);
122
126
  this.addToContext(TTwriter, Y);
123
127
  this.addToContext(TTwriter, Z);
@@ -126,7 +130,7 @@ class Spake2p {
126
130
  return this.#crypto.computeSha256(TTwriter.toByteArray());
127
131
  }
128
132
  addToContext(TTwriter, data) {
129
- TTwriter.writeUInt64(data.length);
133
+ TTwriter.writeUInt64(data.byteLength);
130
134
  TTwriter.writeByteArray(data);
131
135
  }
132
136
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Spake2p.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -4,6 +4,7 @@
4
4
  * Portions copyright 2022-2023 Project CHIP Authors
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
+ import { Bytes } from "#util/Bytes.js";
7
8
  import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
8
9
  import { PrivateKey, PublicKey } from "./Key.js";
9
10
  import { WebCrypto } from "./WebCrypto.js";
@@ -22,18 +23,18 @@ export declare class StandardCrypto extends Crypto {
22
23
  constructor(crypto?: WebCrypto);
23
24
  protected get subtle(): SubtleCrypto;
24
25
  static provider(): StandardCrypto;
25
- randomBytes(length: number): Uint8Array;
26
- encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, associatedData?: Uint8Array): Uint8Array<ArrayBufferLike>;
27
- decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, associatedData?: Uint8Array): Uint8Array<ArrayBufferLike>;
28
- computeSha256(buffer: Uint8Array | Uint8Array[]): Promise<Uint8Array<ArrayBuffer>>;
29
- createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): Promise<Uint8Array<ArrayBuffer>>;
30
- createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): Promise<Uint8Array<ArrayBuffer>>;
31
- signHmac(secret: Uint8Array, data: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;
32
- signEcdsa(key: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Promise<Uint8Array<ArrayBuffer>>;
33
- verifyEcdsa(key: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
26
+ randomBytes(length: number): Bytes;
27
+ encrypt(key: Bytes, data: Bytes, nonce: Bytes, associatedData?: Bytes): AllowSharedBufferSource;
28
+ decrypt(key: Bytes, data: Bytes, nonce: Bytes, associatedData?: Bytes): AllowSharedBufferSource;
29
+ computeSha256(buffer: Bytes | Bytes[]): Promise<ArrayBuffer>;
30
+ createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<ArrayBuffer>;
31
+ createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
32
+ signHmac(secret: Bytes, data: Bytes): Promise<Bytes>;
33
+ signEcdsa(key: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Promise<AllowSharedBufferSource>;
34
+ verifyEcdsa(key: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
34
35
  createKeyPair(): Promise<PrivateKey>;
35
36
  protected generateJwk(): Promise<JsonWebKey>;
36
- generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Uint8Array<ArrayBuffer>>;
37
- protected importKey(format: KeyFormat, keyData: JsonWebKey | BufferSource, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
37
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Bytes>;
38
+ protected importKey(format: KeyFormat, keyData: JsonWebKey | Bytes, algorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: ReadonlyArray<KeyUsage>): Promise<CryptoKey>;
38
39
  }
39
40
  //# sourceMappingURL=StandardCrypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,MAAM,EAA+B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAA2B,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuB3C;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;;IACtC,kBAAkB,SAAQ;gBAId,MAAM,GAAE,SAA6B;IAYjD,SAAS,KAAK,MAAM,iBAEnB;IAED,MAAM,CAAC,QAAQ;IAIf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAMvC,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU;IAKzF,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,UAAU;IAKnF,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,EAAE;IAO/C,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAe1F,aAAa,CACf,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,MAAoC;IAgB1C,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;IAK7C,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA+B3F,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA2BrG,aAAa;cAaH,WAAW;IAkBrB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;cAmC1C,SAAS,CACrB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,GAAG,YAAY,EAClC,SAAS,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,EAC/G,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;CAQzC"}
1
+ {"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,MAAM,EAA+B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAA2B,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAuB3C;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,MAAM;;IACtC,kBAAkB,SAAQ;gBAId,MAAM,GAAE,SAA6B;IAYjD,SAAS,KAAK,MAAM,iBAEnB;IAED,MAAM,CAAC,QAAQ;IAIf,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAMlC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK;IASrE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,EAAE,KAAK;IASrE,aAAa,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,EAAE;IAO/B,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAchF,aAAa,CACf,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,MAAoC,GAC7C,OAAO,CAAC,KAAK,CAAC;IAcX,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAKpD,SAAS,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,WAAW,CAAC,EAAE,iBAAiB;IA+BjF,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,iBAAiB;IAgC3F,aAAa;cAaH,WAAW;IAkBrB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;cAiC3D,SAAS,CACrB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,GAAG,KAAK,EAC3B,SAAS,EAAE,mBAAmB,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,eAAe,EAC/G,WAAW,EAAE,OAAO,EACpB,SAAS,EAAE,aAAa,CAAC,QAAQ,CAAC;CAQzC"}
@@ -76,49 +76,55 @@ class StandardCrypto extends import_Crypto.Crypto {
76
76
  }
77
77
  encrypt(key, data, nonce, associatedData) {
78
78
  const ccm = (0, import_Ccm.Ccm)(key);
79
- return ccm.encrypt({ pt: data, nonce, adata: associatedData });
79
+ return ccm.encrypt({
80
+ pt: import_Bytes.Bytes.of(data),
81
+ nonce: import_Bytes.Bytes.of(nonce),
82
+ adata: associatedData !== void 0 ? import_Bytes.Bytes.of(associatedData) : void 0
83
+ });
80
84
  }
81
85
  decrypt(key, data, nonce, associatedData) {
82
86
  const ccm = (0, import_Ccm.Ccm)(key);
83
- return ccm.decrypt({ ct: data, nonce, adata: associatedData });
87
+ return ccm.decrypt({
88
+ ct: import_Bytes.Bytes.of(data),
89
+ nonce: import_Bytes.Bytes.of(nonce),
90
+ adata: associatedData !== void 0 ? import_Bytes.Bytes.of(associatedData) : void 0
91
+ });
84
92
  }
85
- async computeSha256(buffer) {
93
+ computeSha256(buffer) {
86
94
  if (Array.isArray(buffer)) {
87
95
  buffer = import_Bytes.Bytes.concat(...buffer);
88
96
  }
89
- return new Uint8Array(await this.#subtle.digest("SHA-256", buffer));
97
+ return this.#subtle.digest("SHA-256", import_Bytes.Bytes.exclusive(buffer));
90
98
  }
91
99
  async createPbkdf2Key(secret, salt, iteration, keyLength) {
92
100
  const key = await this.importKey("raw", secret, "PBKDF2", false, ["deriveBits"]);
93
- const bits = await this.#subtle.deriveBits(
101
+ return this.#subtle.deriveBits(
94
102
  {
95
103
  name: "PBKDF2",
96
104
  hash: "SHA-256",
97
- salt,
105
+ salt: import_Bytes.Bytes.exclusive(salt),
98
106
  iterations: iteration
99
107
  },
100
108
  key,
101
109
  keyLength * 8
102
110
  );
103
- return new Uint8Array(bits);
104
111
  }
105
112
  async createHkdfKey(secret, salt, info, length = import_Crypto.CRYPTO_SYMMETRIC_KEY_LENGTH) {
106
113
  const key = await this.importKey("raw", secret, "HKDF", false, ["deriveBits"]);
107
- const bits = await this.#subtle.deriveBits(
114
+ return this.#subtle.deriveBits(
108
115
  {
109
116
  name: "HKDF",
110
117
  hash: "SHA-256",
111
- salt,
112
- info
118
+ salt: import_Bytes.Bytes.exclusive(salt),
119
+ info: import_Bytes.Bytes.exclusive(info)
113
120
  },
114
121
  key,
115
122
  8 * length
116
123
  );
117
- return new Uint8Array(bits);
118
124
  }
119
125
  async signHmac(secret, data) {
120
126
  const key = await this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
121
- return new Uint8Array(await this.#subtle.sign("HMAC", key, data));
127
+ return this.#subtle.sign("HMAC", key, import_Bytes.Bytes.exclusive(data));
122
128
  }
123
129
  async signEcdsa(key, data, dsaEncoding) {
124
130
  if (Array.isArray(data)) {
@@ -136,8 +142,8 @@ class StandardCrypto extends import_Crypto.Crypto {
136
142
  key_ops: ["sign"]
137
143
  };
138
144
  const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["sign"]);
139
- const ieeeP1363 = await this.#subtle.sign(SIGNATURE_ALGORITHM, subtleKey, data);
140
- if (dsaEncoding !== "der") return new Uint8Array(ieeeP1363);
145
+ const ieeeP1363 = import_Bytes.Bytes.of(await this.#subtle.sign(SIGNATURE_ALGORITHM, subtleKey, import_Bytes.Bytes.exclusive(data)));
146
+ if (dsaEncoding !== "der") return ieeeP1363;
141
147
  const bytesPerComponent = ieeeP1363.byteLength / 2;
142
148
  return import_DerCodec.DerCodec.encode({
143
149
  r: (0, import_DerCodec.DerBigUint)(ieeeP1363.slice(0, bytesPerComponent)),
@@ -159,7 +165,12 @@ class StandardCrypto extends import_Crypto.Crypto {
159
165
  throw new import_CryptoError.CryptoVerifyError("Invalid DER signature", { cause });
160
166
  }
161
167
  }
162
- const verified = await this.#subtle.verify(SIGNATURE_ALGORITHM, subtleKey, signature, data);
168
+ const verified = await this.#subtle.verify(
169
+ SIGNATURE_ALGORITHM,
170
+ subtleKey,
171
+ import_Bytes.Bytes.exclusive(signature),
172
+ import_Bytes.Bytes.exclusive(data)
173
+ );
163
174
  if (!verified) {
164
175
  throw new import_CryptoError.CryptoVerifyError("Signature verification failed");
165
176
  }
@@ -209,7 +220,7 @@ class StandardCrypto extends import_Crypto.Crypto {
209
220
  false,
210
221
  []
211
222
  );
212
- const secret = await this.#subtle.deriveBits(
223
+ return this.#subtle.deriveBits(
213
224
  {
214
225
  name: "ECDH",
215
226
  public: subtlePeerKey
@@ -217,7 +228,6 @@ class StandardCrypto extends import_Crypto.Crypto {
217
228
  subtleKey,
218
229
  256
219
230
  );
220
- return new Uint8Array(secret);
221
231
  }
222
232
  async importKey(format, keyData, algorithm, extractable, keyUsages) {
223
233
  try {