@matter/general 0.14.1-alpha.0-20250607-a93593303 → 0.15.0-alpha.0-20250613-a55f991d4

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 (185) hide show
  1. package/dist/cjs/codec/DerCodec.d.ts +12 -17
  2. package/dist/cjs/codec/DerCodec.d.ts.map +1 -1
  3. package/dist/cjs/codec/DerCodec.js +90 -51
  4. package/dist/cjs/codec/DerCodec.js.map +1 -1
  5. package/dist/cjs/codec/DerTypes.js +1 -1
  6. package/dist/cjs/codec/DnsCodec.d.ts +5 -5
  7. package/dist/cjs/crypto/Crypto.d.ts +111 -62
  8. package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
  9. package/dist/cjs/crypto/Crypto.js +92 -31
  10. package/dist/cjs/crypto/Crypto.js.map +1 -1
  11. package/dist/cjs/crypto/CryptoError.d.ts +32 -0
  12. package/dist/cjs/crypto/CryptoError.d.ts.map +1 -0
  13. package/dist/cjs/crypto/CryptoError.js +44 -0
  14. package/dist/cjs/crypto/CryptoError.js.map +6 -0
  15. package/dist/cjs/crypto/Key.d.ts +2 -2
  16. package/dist/cjs/crypto/Key.d.ts.map +1 -1
  17. package/dist/cjs/crypto/Key.js +15 -16
  18. package/dist/cjs/crypto/Key.js.map +1 -1
  19. package/dist/cjs/crypto/Spake2p.js +5 -5
  20. package/dist/cjs/crypto/Spake2p.js.map +1 -1
  21. package/dist/cjs/crypto/StandardCrypto.d.ts +33 -0
  22. package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -0
  23. package/dist/cjs/crypto/StandardCrypto.js +208 -0
  24. package/dist/cjs/crypto/StandardCrypto.js.map +6 -0
  25. package/dist/cjs/crypto/aes/Aes.d.ts +21 -0
  26. package/dist/cjs/crypto/aes/Aes.d.ts.map +1 -0
  27. package/dist/cjs/crypto/aes/Aes.js +132 -0
  28. package/dist/cjs/crypto/aes/Aes.js.map +6 -0
  29. package/dist/cjs/crypto/aes/Ccm.d.ts +71 -0
  30. package/dist/cjs/crypto/aes/Ccm.d.ts.map +1 -0
  31. package/dist/cjs/crypto/aes/Ccm.js +194 -0
  32. package/dist/cjs/crypto/aes/Ccm.js.map +6 -0
  33. package/dist/cjs/crypto/aes/WordArray.d.ts +30 -0
  34. package/dist/cjs/crypto/aes/WordArray.d.ts.map +1 -0
  35. package/dist/cjs/crypto/aes/WordArray.js +91 -0
  36. package/dist/cjs/crypto/aes/WordArray.js.map +6 -0
  37. package/dist/cjs/crypto/index.d.ts +3 -0
  38. package/dist/cjs/crypto/index.d.ts.map +1 -1
  39. package/dist/cjs/crypto/index.js +3 -0
  40. package/dist/cjs/crypto/index.js.map +1 -1
  41. package/dist/cjs/crypto/nonentropic.d.ts +16 -0
  42. package/dist/cjs/crypto/nonentropic.d.ts.map +1 -0
  43. package/dist/cjs/crypto/nonentropic.js +70 -0
  44. package/dist/cjs/crypto/nonentropic.js.map +6 -0
  45. package/dist/cjs/environment/Environment.d.ts.map +1 -1
  46. package/dist/cjs/environment/Environment.js +1 -5
  47. package/dist/cjs/environment/Environment.js.map +1 -1
  48. package/dist/cjs/environment/RuntimeService.d.ts +2 -4
  49. package/dist/cjs/environment/RuntimeService.d.ts.map +1 -1
  50. package/dist/cjs/environment/RuntimeService.js +4 -4
  51. package/dist/cjs/environment/RuntimeService.js.map +1 -1
  52. package/dist/cjs/environment/VariableService.d.ts.map +1 -1
  53. package/dist/cjs/environment/VariableService.js +1 -0
  54. package/dist/cjs/environment/VariableService.js.map +1 -1
  55. package/dist/cjs/log/LogFormat.js +17 -11
  56. package/dist/cjs/log/LogFormat.js.map +1 -1
  57. package/dist/cjs/net/Network.d.ts +0 -1
  58. package/dist/cjs/net/Network.d.ts.map +1 -1
  59. package/dist/cjs/net/Network.js +0 -4
  60. package/dist/cjs/net/Network.js.map +1 -1
  61. package/dist/cjs/time/Time.d.ts.map +1 -1
  62. package/dist/cjs/time/Time.js +2 -2
  63. package/dist/cjs/time/Time.js.map +1 -1
  64. package/dist/cjs/util/Bytes.d.ts +6 -0
  65. package/dist/cjs/util/Bytes.d.ts.map +1 -1
  66. package/dist/cjs/util/Bytes.js +15 -1
  67. package/dist/cjs/util/Bytes.js.map +1 -1
  68. package/dist/cjs/util/DataWriter.d.ts +1 -1
  69. package/dist/cjs/util/DataWriter.js +2 -2
  70. package/dist/cjs/util/DataWriter.js.map +1 -1
  71. package/dist/cjs/util/DeepCopy.js +1 -1
  72. package/dist/cjs/util/DeepCopy.js.map +1 -1
  73. package/dist/cjs/util/GeneratedClass.d.ts +3 -3
  74. package/dist/cjs/util/GeneratedClass.d.ts.map +1 -1
  75. package/dist/cjs/util/GeneratedClass.js +99 -73
  76. package/dist/cjs/util/GeneratedClass.js.map +2 -2
  77. package/dist/cjs/util/Number.d.ts +0 -1
  78. package/dist/cjs/util/Number.d.ts.map +1 -1
  79. package/dist/cjs/util/Number.js +0 -4
  80. package/dist/cjs/util/Number.js.map +1 -1
  81. package/dist/esm/codec/DerCodec.d.ts +12 -17
  82. package/dist/esm/codec/DerCodec.d.ts.map +1 -1
  83. package/dist/esm/codec/DerCodec.js +90 -51
  84. package/dist/esm/codec/DerCodec.js.map +1 -1
  85. package/dist/esm/codec/DerTypes.js +2 -2
  86. package/dist/esm/codec/DnsCodec.d.ts +5 -5
  87. package/dist/esm/crypto/Crypto.d.ts +111 -62
  88. package/dist/esm/crypto/Crypto.d.ts.map +1 -1
  89. package/dist/esm/crypto/Crypto.js +93 -32
  90. package/dist/esm/crypto/Crypto.js.map +1 -1
  91. package/dist/esm/crypto/CryptoError.d.ts +32 -0
  92. package/dist/esm/crypto/CryptoError.d.ts.map +1 -0
  93. package/dist/esm/crypto/CryptoError.js +24 -0
  94. package/dist/esm/crypto/CryptoError.js.map +6 -0
  95. package/dist/esm/crypto/Key.d.ts +2 -2
  96. package/dist/esm/crypto/Key.d.ts.map +1 -1
  97. package/dist/esm/crypto/Key.js +15 -16
  98. package/dist/esm/crypto/Key.js.map +1 -1
  99. package/dist/esm/crypto/Spake2p.js +5 -5
  100. package/dist/esm/crypto/Spake2p.js.map +1 -1
  101. package/dist/esm/crypto/StandardCrypto.d.ts +33 -0
  102. package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -0
  103. package/dist/esm/crypto/StandardCrypto.js +188 -0
  104. package/dist/esm/crypto/StandardCrypto.js.map +6 -0
  105. package/dist/esm/crypto/aes/Aes.d.ts +21 -0
  106. package/dist/esm/crypto/aes/Aes.d.ts.map +1 -0
  107. package/dist/esm/crypto/aes/Aes.js +112 -0
  108. package/dist/esm/crypto/aes/Aes.js.map +6 -0
  109. package/dist/esm/crypto/aes/Ccm.d.ts +71 -0
  110. package/dist/esm/crypto/aes/Ccm.d.ts.map +1 -0
  111. package/dist/esm/crypto/aes/Ccm.js +174 -0
  112. package/dist/esm/crypto/aes/Ccm.js.map +6 -0
  113. package/dist/esm/crypto/aes/WordArray.d.ts +30 -0
  114. package/dist/esm/crypto/aes/WordArray.d.ts.map +1 -0
  115. package/dist/esm/crypto/aes/WordArray.js +71 -0
  116. package/dist/esm/crypto/aes/WordArray.js.map +6 -0
  117. package/dist/esm/crypto/index.d.ts +3 -0
  118. package/dist/esm/crypto/index.d.ts.map +1 -1
  119. package/dist/esm/crypto/index.js +3 -0
  120. package/dist/esm/crypto/index.js.map +1 -1
  121. package/dist/esm/crypto/nonentropic.d.ts +16 -0
  122. package/dist/esm/crypto/nonentropic.d.ts.map +1 -0
  123. package/dist/esm/crypto/nonentropic.js +50 -0
  124. package/dist/esm/crypto/nonentropic.js.map +6 -0
  125. package/dist/esm/environment/Environment.d.ts.map +1 -1
  126. package/dist/esm/environment/Environment.js +1 -5
  127. package/dist/esm/environment/Environment.js.map +1 -1
  128. package/dist/esm/environment/RuntimeService.d.ts +2 -4
  129. package/dist/esm/environment/RuntimeService.d.ts.map +1 -1
  130. package/dist/esm/environment/RuntimeService.js +4 -4
  131. package/dist/esm/environment/RuntimeService.js.map +1 -1
  132. package/dist/esm/environment/VariableService.d.ts.map +1 -1
  133. package/dist/esm/environment/VariableService.js +1 -0
  134. package/dist/esm/environment/VariableService.js.map +1 -1
  135. package/dist/esm/log/LogFormat.js +17 -11
  136. package/dist/esm/log/LogFormat.js.map +1 -1
  137. package/dist/esm/net/Network.d.ts +0 -1
  138. package/dist/esm/net/Network.d.ts.map +1 -1
  139. package/dist/esm/net/Network.js +1 -5
  140. package/dist/esm/net/Network.js.map +1 -1
  141. package/dist/esm/time/Time.d.ts.map +1 -1
  142. package/dist/esm/time/Time.js +2 -2
  143. package/dist/esm/time/Time.js.map +1 -1
  144. package/dist/esm/util/Bytes.d.ts +6 -0
  145. package/dist/esm/util/Bytes.d.ts.map +1 -1
  146. package/dist/esm/util/Bytes.js +15 -1
  147. package/dist/esm/util/Bytes.js.map +1 -1
  148. package/dist/esm/util/DataWriter.d.ts +1 -1
  149. package/dist/esm/util/DataWriter.js +3 -3
  150. package/dist/esm/util/DataWriter.js.map +1 -1
  151. package/dist/esm/util/DeepCopy.js +1 -1
  152. package/dist/esm/util/DeepCopy.js.map +1 -1
  153. package/dist/esm/util/GeneratedClass.d.ts +3 -3
  154. package/dist/esm/util/GeneratedClass.d.ts.map +1 -1
  155. package/dist/esm/util/GeneratedClass.js +97 -71
  156. package/dist/esm/util/GeneratedClass.js.map +2 -2
  157. package/dist/esm/util/Number.d.ts +0 -1
  158. package/dist/esm/util/Number.d.ts.map +1 -1
  159. package/dist/esm/util/Number.js +0 -4
  160. package/dist/esm/util/Number.js.map +1 -1
  161. package/package.json +3 -3
  162. package/src/codec/DerCodec.ts +106 -52
  163. package/src/codec/DerTypes.ts +2 -2
  164. package/src/crypto/Crypto.ts +196 -76
  165. package/src/crypto/CryptoError.ts +32 -0
  166. package/src/crypto/Key.ts +17 -18
  167. package/src/crypto/Spake2p.ts +5 -5
  168. package/src/crypto/StandardCrypto.ts +252 -0
  169. package/src/crypto/aes/Aes.ts +210 -0
  170. package/src/crypto/aes/Ccm.ts +350 -0
  171. package/src/crypto/aes/README.md +4 -0
  172. package/src/crypto/aes/WordArray.ts +105 -0
  173. package/src/crypto/index.ts +3 -0
  174. package/src/crypto/nonentropic.ts +65 -0
  175. package/src/environment/Environment.ts +1 -6
  176. package/src/environment/RuntimeService.ts +5 -5
  177. package/src/environment/VariableService.ts +1 -0
  178. package/src/log/LogFormat.ts +19 -11
  179. package/src/net/Network.ts +1 -7
  180. package/src/time/Time.ts +4 -4
  181. package/src/util/Bytes.ts +19 -0
  182. package/src/util/DataWriter.ts +3 -3
  183. package/src/util/DeepCopy.ts +2 -2
  184. package/src/util/GeneratedClass.ts +161 -102
  185. package/src/util/Number.ts +0 -4
@@ -36,14 +36,14 @@ export declare const ObjectId: (objectId: string) => {
36
36
  _bytes: Uint8Array<ArrayBuffer>;
37
37
  };
38
38
  export declare const DerObject: (objectId: string, content?: any) => any;
39
- export declare const BitByteArray: (data: Uint8Array, padding?: number) => {
39
+ export declare const DerBitString: (data: Uint8Array, padding?: number) => {
40
40
  _tag: number;
41
41
  _bytes: Uint8Array<ArrayBufferLike>;
42
42
  _padding: number;
43
43
  };
44
44
  export declare const ContextTagged: (tagId: number, value?: any) => {
45
45
  _tag: number;
46
- _bytes: Uint8Array<ArrayBufferLike>;
46
+ _bytes: Uint8Array<ArrayBuffer>;
47
47
  };
48
48
  export declare const ContextTaggedBytes: (tagId: number, value: Uint8Array) => {
49
49
  _tag: number;
@@ -56,6 +56,10 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
56
56
  export declare const RawBytes: (bytes: Uint8Array) => {
57
57
  _bytes: Uint8Array<ArrayBufferLike>;
58
58
  };
59
+ export declare const DerBigUint: (number: Uint8Array | ArrayBuffer) => {
60
+ _tag: DerType;
61
+ _bytes: ArrayBuffer | Uint8Array<ArrayBufferLike>;
62
+ };
59
63
  export type DerNode = {
60
64
  [DerKey.TagId]: number;
61
65
  [DerKey.Bytes]: Uint8Array;
@@ -63,21 +67,12 @@ export type DerNode = {
63
67
  [DerKey.BitsPadding]?: number;
64
68
  };
65
69
  export declare class DerCodec {
66
- static encode(value: any): Uint8Array;
67
- private static encodeDate;
68
- private static encodeBoolean;
69
- private static encodeArray;
70
- private static encodeOctetString;
71
- private static encodeObject;
72
- private static encodeString;
73
- private static encodePrintableString;
74
- private static encodeIA5String;
75
- private static encodeInteger;
76
- private static encodeBitString;
77
- private static encodeLengthBytes;
78
- private static encodeAsn1;
70
+ #private;
71
+ static encode(value: unknown): Uint8Array;
79
72
  static decode(data: Uint8Array): DerNode;
80
- private static decodeRec;
81
- private static decodeAsn1;
73
+ /**
74
+ * Extract a large integer value to a byte array with a specific number of bytes.
75
+ */
76
+ static decodeBigUint(value: DerNode | undefined, byteLength: number): Uint8Array<ArrayBuffer>;
82
77
  }
83
78
  //# sourceMappingURL=DerCodec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DerCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DerCodec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMxD,oBAAY,MAAM;IACd,QAAQ,cAAc;IACtB,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,QAAQ,cAAc;IACtB,WAAW,aAAa;IACxB,YAAY,UAAU;IACtB,OAAO,SAAS;CACnB;AAED,qBAAa,QAAS,SAAQ,mBAAmB;CAAG;AAEpD,oBAAY,OAAO;IACf,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,WAAW,IAAO;IAClB,IAAI,IAAO;IACX,gBAAgB,IAAO;IACvB,UAAU,KAAO;IACjB,QAAQ,KAAO;IACf,GAAG,KAAO;IACV,eAAe,KAAO;IACtB,SAAS,KAAO;IAChB,SAAS,KAAO;IAChB,OAAO,KAAO;IACd,eAAe,KAAO;CACzB;AAUD,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM;UACO,MAAM;;CAEpD,CAAC;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,UAAS,GAAQ,QAG3D,CAAC;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,UAAU,EAAE,gBAAW;UACjB,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,UAAU;;;CAGjE,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU;;CAExC,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,qBAAa,QAAQ;IACjB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU;IAuErC,OAAO,CAAC,MAAM,CAAC,UAAU;IAwBzB,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,WAAW;IAI1B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,YAAY;IAQ3B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC,OAAO,CAAC,MAAM,CAAC,eAAe;IAQ9B,OAAO,CAAC,MAAM,CAAC,aAAa;IAoB5B,OAAO,CAAC,MAAM,CAAC,eAAe;IAO9B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAkBhC,OAAO,CAAC,MAAM,CAAC,UAAU;IAIzB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAIxC,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,MAAM,CAAC,UAAU;CAc5B"}
1
+ {"version":3,"file":"DerCodec.d.ts","sourceRoot":"","sources":["../../../src/codec/DerCodec.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAMxD,oBAAY,MAAM;IACd,QAAQ,cAAc;IACtB,KAAK,SAAS;IACd,KAAK,WAAW;IAChB,QAAQ,cAAc;IACtB,WAAW,aAAa;IACxB,YAAY,UAAU;IACtB,OAAO,SAAS;CACnB;AAED,qBAAa,QAAS,SAAQ,mBAAmB;CAAG;AAEpD,oBAAY,OAAO;IACf,OAAO,IAAO;IACd,OAAO,IAAO;IACd,SAAS,IAAO;IAChB,WAAW,IAAO;IAClB,IAAI,IAAO;IACX,gBAAgB,IAAO;IACvB,UAAU,KAAO;IACjB,QAAQ,KAAO;IACf,GAAG,KAAO;IACV,eAAe,KAAO;IACtB,SAAS,KAAO;IAChB,SAAS,KAAO;IAChB,OAAO,KAAO;IACd,eAAe,KAAO;CACzB;AAUD,eAAO,MAAM,QAAQ,GAAI,UAAU,MAAM;UACO,MAAM;;CAEpD,CAAC;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,MAAM,EAAE,UAAS,GAAQ,QAG3D,CAAC;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,UAAU,EAAE,gBAAW;UACjB,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,UAAU;;;CAGjE,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,UAAU;;CAExC,CAAC;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,UAAU,GAAG,WAAW;;;CAgB1D,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;IAC9B,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,qBAAa,QAAQ;;IACjB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU;IAuEzC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;IAIxC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM;CA6KtE"}
@@ -18,10 +18,11 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var DerCodec_exports = {};
20
20
  __export(DerCodec_exports, {
21
- BitByteArray: () => BitByteArray,
22
21
  ContextTagged: () => ContextTagged,
23
22
  ContextTaggedBytes: () => ContextTaggedBytes,
24
23
  DatatypeOverride: () => DatatypeOverride,
24
+ DerBigUint: () => DerBigUint,
25
+ DerBitString: () => DerBitString,
25
26
  DerCodec: () => DerCodec,
26
27
  DerError: () => DerError,
27
28
  DerKey: () => DerKey,
@@ -86,7 +87,7 @@ const DerObject = (objectId, content = {}) => ({
86
87
  ["_objectId" /* ObjectId */]: ObjectId(objectId),
87
88
  ...content
88
89
  });
89
- const BitByteArray = (data, padding = 0) => ({
90
+ const DerBitString = (data, padding = 0) => ({
90
91
  ["_tag" /* TagId */]: 3 /* BitString */,
91
92
  ["_bytes" /* Bytes */]: data,
92
93
  ["_padding" /* BitsPadding */]: padding
@@ -106,20 +107,32 @@ const DatatypeOverride = (type, value) => ({
106
107
  const RawBytes = (bytes) => ({
107
108
  ["_bytes" /* Bytes */]: bytes
108
109
  });
110
+ const DerBigUint = (number) => {
111
+ if (!ArrayBuffer.isView(number)) {
112
+ number = new Uint8Array(number);
113
+ }
114
+ if (number[0] & 128) {
115
+ number = import_Bytes.Bytes.concat(new Uint8Array([0]), number);
116
+ }
117
+ return {
118
+ ["_tag" /* TagId */]: 2 /* Integer */,
119
+ ["_bytes" /* Bytes */]: number
120
+ };
121
+ };
109
122
  class DerCodec {
110
123
  static encode(value) {
111
124
  if (Array.isArray(value)) {
112
- return this.encodeArray(value);
125
+ return this.#encodeArray(value);
113
126
  } else if (value instanceof Uint8Array) {
114
- return this.encodeOctetString(value);
127
+ return this.#encodeOctetString(value);
115
128
  } else if (value instanceof Date) {
116
- return this.encodeDate(value);
129
+ return this.#encodeDate(value);
117
130
  } else if (typeof value === "string") {
118
- return this.encodeString(value);
131
+ return this.#encodeString(value);
119
132
  } else if (typeof value === "number" || typeof value === "bigint") {
120
- return this.encodeInteger(value);
133
+ return this.#encodeInteger(value);
121
134
  } else if (typeof value === "boolean") {
122
- return this.encodeBoolean(value);
135
+ return this.#encodeBoolean(value);
123
136
  } else if (value === void 0) {
124
137
  return new Uint8Array(0);
125
138
  } else if ((0, import_Type.isObject)(value)) {
@@ -134,81 +147,110 @@ class DerCodec {
134
147
  if (bytes === void 0 || !ArrayBuffer.isView(bytes)) {
135
148
  throw new DerError("DER bytes is not a byte array");
136
149
  }
137
- return this.encodeAsn1(
150
+ return this.#encodeAsn1(
138
151
  tagId,
139
152
  bitsPadding === void 0 ? bytes : import_Bytes.Bytes.concat(Uint8Array.of(bitsPadding), bytes)
140
153
  );
141
154
  } else if (value["_type" /* TypeOverride */] !== void 0 && value["_raw" /* RawData */] !== void 0) {
142
155
  if (value["_type" /* TypeOverride */] === 2 /* Integer */ && value["_raw" /* RawData */] instanceof Uint8Array) {
143
- return this.encodeInteger(value["_raw" /* RawData */]);
156
+ return this.#encodeInteger(value["_raw" /* RawData */]);
144
157
  } else if (value["_type" /* TypeOverride */] === 3 /* BitString */ && typeof value["_raw" /* RawData */] === "number") {
145
- return this.encodeBitString(value["_raw" /* RawData */]);
158
+ return this.#encodeBitString(value["_raw" /* RawData */]);
146
159
  } else if (value["_type" /* TypeOverride */] === 19 /* PrintableString */ && typeof value["_raw" /* RawData */] === "string") {
147
- return this.encodePrintableString(value["_raw" /* RawData */]);
160
+ return this.#encodePrintableString(value["_raw" /* RawData */]);
148
161
  } else if (value["_type" /* TypeOverride */] === 22 /* IA5String */ && typeof value["_raw" /* RawData */] === "string") {
149
- return this.encodeIA5String(value["_raw" /* RawData */]);
162
+ return this.#encodeIA5String(value["_raw" /* RawData */]);
150
163
  } else {
151
- throw new import_MatterError.UnexpectedDataError(`Unsupported override type ${value["_type" /* TypeOverride */]}`);
164
+ throw new DerError(`Unsupported override type ${value["_type" /* TypeOverride */]}`);
152
165
  }
153
166
  } else if (value["_bytes" /* Bytes */] !== void 0 && value["_bytes" /* Bytes */] instanceof Uint8Array && Object.keys(value).length === 1) {
154
167
  return value["_bytes" /* Bytes */];
155
168
  } else if (value["_type" /* TypeOverride */] === void 0 && value["_bytes" /* Bytes */] === void 0) {
156
- return this.encodeObject(value);
169
+ return this.#encodeObject(value);
157
170
  } else {
158
- throw new import_MatterError.UnexpectedDataError(`Unsupported object type ${typeof value}`);
171
+ throw new DerError(`Unsupported object type ${typeof value}`);
159
172
  }
160
173
  } else {
161
- throw new import_MatterError.UnexpectedDataError(`Unsupported type ${typeof value}`);
174
+ throw new DerError(`Unsupported type ${typeof value}`);
175
+ }
176
+ }
177
+ static decode(data) {
178
+ return this.#decodeRec(new import_DataReader.DataReader(data));
179
+ }
180
+ /**
181
+ * Extract a large integer value to a byte array with a specific number of bytes.
182
+ */
183
+ static decodeBigUint(value, byteLength) {
184
+ if (value === void 0) {
185
+ throw new DerError("Missing number in DER object");
186
+ }
187
+ if (value["_tag" /* TagId */] !== 2 /* Integer */) {
188
+ throw new DerError(`Expected integer but DER tag is ${DerType[value["_tag" /* TagId */]]}`);
162
189
  }
190
+ const bytes = value["_bytes" /* Bytes */];
191
+ if (!ArrayBuffer.isView(bytes)) {
192
+ throw new DerError("Incorrect DER object type");
193
+ }
194
+ if (bytes.length === byteLength) {
195
+ return bytes;
196
+ }
197
+ if (bytes.length === byteLength + 1 && !bytes[0]) {
198
+ return bytes.slice(1);
199
+ }
200
+ if (bytes.length < byteLength) {
201
+ return import_Bytes.Bytes.concat(new Uint8Array(byteLength - bytes.length), bytes);
202
+ }
203
+ throw new DerError("Encoded integer contains too many bytes");
163
204
  }
164
- static encodeDate(date) {
205
+ static #encodeDate(date) {
165
206
  if (date.getFullYear() > 2049) {
166
- return this.encodeAsn1(
207
+ return this.#encodeAsn1(
167
208
  24 /* GeneralizedTime */,
168
209
  import_Bytes.Bytes.fromString(
169
210
  date.toISOString().replace(/[-:.T]/g, "").slice(0, 14) + "Z"
170
211
  )
171
212
  );
172
- } else
173
- return this.encodeAsn1(
213
+ } else {
214
+ return this.#encodeAsn1(
174
215
  23 /* UtcDate */,
175
216
  import_Bytes.Bytes.fromString(
176
217
  date.toISOString().replace(/[-:.T]/g, "").slice(2, 14) + "Z"
177
218
  )
178
219
  );
220
+ }
179
221
  }
180
- static encodeBoolean(bool) {
181
- return this.encodeAsn1(1 /* Boolean */, Uint8Array.of(bool ? 255 : 0));
222
+ static #encodeBoolean(bool) {
223
+ return this.#encodeAsn1(1 /* Boolean */, Uint8Array.of(bool ? 255 : 0));
182
224
  }
183
- static encodeArray(array) {
184
- return this.encodeAsn1(17 /* Set */ | CONSTRUCTED, import_Bytes.Bytes.concat(...array.map((element) => this.encode(element))));
225
+ static #encodeArray(array) {
226
+ return this.#encodeAsn1(17 /* Set */ | CONSTRUCTED, import_Bytes.Bytes.concat(...array.map((element) => this.encode(element))));
185
227
  }
186
- static encodeOctetString(value) {
187
- return this.encodeAsn1(4 /* OctetString */, value);
228
+ static #encodeOctetString(value) {
229
+ return this.#encodeAsn1(4 /* OctetString */, value);
188
230
  }
189
- static encodeObject(object) {
231
+ static #encodeObject(object) {
190
232
  const attributes = new Array();
191
233
  for (const key in object) {
192
234
  attributes.push(this.encode(object[key]));
193
235
  }
194
- return this.encodeAsn1(16 /* Sequence */ | CONSTRUCTED, import_Bytes.Bytes.concat(...attributes));
236
+ return this.#encodeAsn1(16 /* Sequence */ | CONSTRUCTED, import_Bytes.Bytes.concat(...attributes));
195
237
  }
196
- static encodeString(value) {
197
- return this.encodeAsn1(12 /* UTF8String */, import_Bytes.Bytes.fromString(value));
238
+ static #encodeString(value) {
239
+ return this.#encodeAsn1(12 /* UTF8String */, import_Bytes.Bytes.fromString(value));
198
240
  }
199
- static encodePrintableString(value) {
241
+ static #encodePrintableString(value) {
200
242
  if (!/^[a-z0-9 '()+,\-./:=?]*$/i.test(value)) {
201
- throw new import_MatterError.UnexpectedDataError(`String ${value} is not a printable string.`);
243
+ throw new DerError(`String ${value} is not a printable string.`);
202
244
  }
203
- return this.encodeAsn1(19 /* PrintableString */, import_Bytes.Bytes.fromString(value));
245
+ return this.#encodeAsn1(19 /* PrintableString */, import_Bytes.Bytes.fromString(value));
204
246
  }
205
- static encodeIA5String(value) {
247
+ static #encodeIA5String(value) {
206
248
  if (!/^[\x00-\x7F]*$/.test(value)) {
207
- throw new import_MatterError.UnexpectedDataError(`String ${value} is not an IA5 string.`);
249
+ throw new DerError(`String ${value} is not an IA5 string.`);
208
250
  }
209
- return this.encodeAsn1(22 /* IA5String */, import_Bytes.Bytes.fromString(value));
251
+ return this.#encodeAsn1(22 /* IA5String */, import_Bytes.Bytes.fromString(value));
210
252
  }
211
- static encodeInteger(value) {
253
+ static #encodeInteger(value) {
212
254
  const isByteArray = ArrayBuffer.isView(value);
213
255
  let valueBytes;
214
256
  if (isByteArray) {
@@ -225,15 +267,15 @@ class DerCodec {
225
267
  start++;
226
268
  if (start === byteArray.length - 1) break;
227
269
  }
228
- return this.encodeAsn1(2 /* Integer */, byteArray.slice(start));
270
+ return this.#encodeAsn1(2 /* Integer */, byteArray.slice(start));
229
271
  }
230
- static encodeBitString(value) {
272
+ static #encodeBitString(value) {
231
273
  const reversedBits = value.toString(2).padStart(8, "0");
232
274
  const unusedBits = reversedBits.indexOf("1");
233
275
  const bitByteArray = Uint8Array.of(parseInt(reversedBits.split("").reverse().join(""), 2));
234
- return this.encode(BitByteArray(bitByteArray, unusedBits === -1 ? 8 : unusedBits));
276
+ return this.encode(DerBitString(bitByteArray, unusedBits === -1 ? 8 : unusedBits));
235
277
  }
236
- static encodeLengthBytes(value) {
278
+ static #encodeLengthBytes(value) {
237
279
  const byteArray = new Uint8Array(5);
238
280
  const dataView = import_Bytes.Bytes.dataViewOf(byteArray);
239
281
  dataView.setUint32(1, value);
@@ -250,25 +292,22 @@ class DerCodec {
250
292
  }
251
293
  return byteArray.slice(start);
252
294
  }
253
- static encodeAsn1(tag, data) {
254
- return import_Bytes.Bytes.concat(Uint8Array.of(tag), this.encodeLengthBytes(data.length), data);
255
- }
256
- static decode(data) {
257
- return this.decodeRec(new import_DataReader.DataReader(data));
295
+ static #encodeAsn1(tag, data) {
296
+ return import_Bytes.Bytes.concat(Uint8Array.of(tag), this.#encodeLengthBytes(data.length), data);
258
297
  }
259
- static decodeRec(reader) {
260
- const { tag, bytes } = this.decodeAsn1(reader);
298
+ static #decodeRec(reader) {
299
+ const { tag, bytes } = this.#decodeAsn1(reader);
261
300
  if (tag === 3 /* BitString */)
262
301
  return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes.slice(1), ["_padding" /* BitsPadding */]: bytes[0] };
263
302
  if ((tag & CONSTRUCTED) === 0) return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes };
264
303
  const elementsReader = new import_DataReader.DataReader(bytes);
265
304
  const elements = [];
266
305
  while (elementsReader.remainingBytesCount > 0) {
267
- elements.push(this.decodeRec(elementsReader));
306
+ elements.push(this.#decodeRec(elementsReader));
268
307
  }
269
308
  return { ["_tag" /* TagId */]: tag, ["_bytes" /* Bytes */]: bytes, ["_elements" /* Elements */]: elements };
270
309
  }
271
- static decodeAsn1(reader) {
310
+ static #decodeAsn1(reader) {
272
311
  const tag = reader.readUInt8();
273
312
  let length = reader.readUInt8();
274
313
  if ((length & 128) !== 0) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/codec/DerCodec.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["DerKey", "DerType", "DerClass"]
6
6
  }
@@ -38,7 +38,7 @@ var X962;
38
38
  algorithm: (0, import_DerCodec.ObjectId)("2A8648CE3D0201"),
39
39
  curve: (0, import_DerCodec.ObjectId)("2A8648CE3D030107")
40
40
  },
41
- bytes: (0, import_DerCodec.BitByteArray)(key)
41
+ bytes: (0, import_DerCodec.DerBitString)(key)
42
42
  });
43
43
  X9622.EcdsaWithSHA256 = (0, import_DerCodec.DerObject)("2A8648CE3D040302");
44
44
  })(X962 || (X962 = {}));
@@ -80,10 +80,10 @@ export declare class DnsCodec {
80
80
  static encode({ messageType, transactionId, queries, answers, authorities, additionalRecords, }: Partial<DnsMessagePartiallyPreEncoded>): Uint8Array;
81
81
  static encodeRecord(record: DnsRecord<any>): Uint8Array;
82
82
  private static encodeRecordValue;
83
- static encodeARecord(ip: string): Uint8Array<ArrayBufferLike>;
84
- static encodeAaaaRecord(ip: string): Uint8Array<ArrayBufferLike>;
85
- static encodeTxtRecord(entries: string[]): Uint8Array<ArrayBufferLike>;
86
- static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array<ArrayBufferLike>;
87
- static encodeQName(qname: string): Uint8Array<ArrayBufferLike>;
83
+ static encodeARecord(ip: string): Uint8Array<ArrayBuffer>;
84
+ static encodeAaaaRecord(ip: string): Uint8Array<ArrayBuffer>;
85
+ static encodeTxtRecord(entries: string[]): Uint8Array<ArrayBuffer>;
86
+ static encodeSrvRecord({ priority, weight, port, target }: SrvRecordValue): Uint8Array<ArrayBuffer>;
87
+ static encodeQName(qname: string): Uint8Array<ArrayBuffer>;
88
88
  }
89
89
  //# sourceMappingURL=DnsCodec.d.ts.map
@@ -6,8 +6,7 @@
6
6
  import { MaybePromise } from "#util/Promises.js";
7
7
  import * as mod from "@noble/curves/abstract/modular";
8
8
  import * as utils from "@noble/curves/abstract/utils";
9
- import { MatterError } from "../MatterError.js";
10
- import { PrivateKey } from "./Key.js";
9
+ import { PrivateKey, PublicKey } from "./Key.js";
11
10
  export declare const ec: {
12
11
  mod(a: bigint, b: bigint): bigint;
13
12
  pow(num: bigint, power: bigint, modulo: bigint): bigint;
@@ -21,11 +20,14 @@ export declare const ec: {
21
20
  FpDiv<T>(Fp: mod.IField<T>, lhs: T, rhs: T | bigint): T;
22
21
  FpLegendre<T>(Fp: mod.IField<T>, n: T): -1 | 0 | 1;
23
22
  FpIsSquare<T>(Fp: mod.IField<T>, n: T): boolean;
24
- nLength(n: bigint, nBitLength?: number): {
25
- nBitLength: number;
26
- nByteLength: number;
27
- };
28
- Field(ORDER: bigint, bitLen?: number, isLE?: boolean, redef?: Partial<mod.IField<bigint>>): Readonly<mod.IField<bigint> & Required<Pick<mod.IField<bigint>, "isOdd">>>;
23
+ nLength(n: bigint, nBitLength?: number): mod.NLength;
24
+ Field(ORDER: bigint, bitLenOrOpts?: number | Partial<{
25
+ sqrt: (n: bigint) => bigint;
26
+ isLE: boolean;
27
+ BITS: number;
28
+ }>, isLE?: boolean, opts?: {
29
+ sqrt?: (n: bigint) => bigint;
30
+ }): Readonly<mod.IField<bigint> & Required<Pick<mod.IField<bigint>, "isOdd">>>;
29
31
  FpSqrtOdd<T>(Fp: mod.IField<T>, elm: T): T;
30
32
  FpSqrtEven<T>(Fp: mod.IField<T>, elm: T): T;
31
33
  hashToPrivateScalar(hash: string | Uint8Array, groupOrder: bigint, isLE?: boolean): bigint;
@@ -33,22 +35,16 @@ export declare const ec: {
33
35
  getMinHashLength(fieldOrder: bigint): number;
34
36
  mapHashToField(key: Uint8Array, fieldOrder: bigint, isLE?: boolean): Uint8Array;
35
37
  isNegativeLE: (num: bigint, modulo: bigint) => boolean;
36
- isBytes(a: unknown): a is Uint8Array;
37
- abytes(item: unknown): void;
38
38
  abool(title: string, value: boolean): void;
39
39
  numberToHexUnpadded(num: number | bigint): string;
40
40
  hexToNumber(hex: string): bigint;
41
- bytesToHex(bytes: Uint8Array): string;
42
- hexToBytes(hex: string): Uint8Array;
43
41
  bytesToNumberBE(bytes: Uint8Array): bigint;
44
42
  bytesToNumberLE(bytes: Uint8Array): bigint;
45
43
  numberToBytesBE(n: number | bigint, len: number): Uint8Array;
46
44
  numberToBytesLE(n: number | bigint, len: number): Uint8Array;
47
45
  numberToVarBytesBE(n: number | bigint): Uint8Array;
48
46
  ensureBytes(title: string, hex: utils.Hex, expectedLength?: number): Uint8Array;
49
- concatBytes(...arrays: Uint8Array[]): Uint8Array;
50
47
  equalBytes(a: Uint8Array, b: Uint8Array): boolean;
51
- utf8ToBytes(str: string): Uint8Array;
52
48
  inRange(n: bigint, min: bigint, max: bigint): boolean;
53
49
  aInRange(title: string, n: bigint, min: bigint, max: bigint): void;
54
50
  bitLen(n: bigint): number;
@@ -56,7 +52,18 @@ export declare const ec: {
56
52
  bitSet(n: bigint, pos: number, value: boolean): bigint;
57
53
  createHmacDrbg<T>(hashLen: number, qByteLen: number, hmacFn: (key: Uint8Array, ...messages: Uint8Array[]) => Uint8Array): (seed: Uint8Array, predicate: (v: Uint8Array) => T | undefined) => T;
58
54
  validateObject<T extends Record<string, any>>(object: T, validators: { [K in keyof T]?: "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" | undefined; }, optValidators?: { [K in keyof T]?: "string" | "bigint" | "boolean" | "function" | "hash" | "stringOrUint8Array" | "isSafeInteger" | "array" | "field" | undefined; }): T;
55
+ isHash(val: utils.CHash): boolean;
56
+ _validateObject(object: Record<string, any>, fields: Record<string, string>, optFields?: Record<string, string>): void;
59
57
  memoized<T extends object, R, O extends any[]>(fn: (arg: T, ...args: O) => R): (arg: T, ...args: O) => R;
58
+ abytes: typeof utils.abytes;
59
+ anumber: typeof utils.anumber;
60
+ bytesToHex: typeof utils.bytesToHex;
61
+ bytesToUtf8: typeof utils.bytesToUtf8;
62
+ concatBytes: typeof utils.concatBytes;
63
+ hexToBytes: typeof utils.hexToBytes;
64
+ isBytes: typeof utils.isBytes;
65
+ randomBytes: typeof utils.randomBytes;
66
+ utf8ToBytes: typeof utils.utf8ToBytes;
60
67
  bitMask: (n: number) => bigint;
61
68
  notImplemented: () => never;
62
69
  p256: import("@noble/curves/_shortw_utils").CurveFnWithCreate;
@@ -69,54 +76,96 @@ export declare const CRYPTO_EC_KEY_BYTES = 32;
69
76
  export declare const CRYPTO_AUTH_TAG_LENGTH = 16;
70
77
  export declare const CRYPTO_SYMMETRIC_KEY_LENGTH = 16;
71
78
  export type CryptoDsaEncoding = "ieee-p1363" | "der";
72
- export declare class CryptoVerifyError extends MatterError {
73
- }
74
- export declare class CryptoDecryptError extends MatterError {
75
- }
76
- export declare abstract class Crypto {
77
- static get: () => Crypto;
78
- abstract encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
79
- static readonly encrypt: (key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array) => Uint8Array;
80
- abstract decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
81
- static readonly decrypt: (key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array) => Uint8Array;
82
- abstract getRandomData(length: number): Uint8Array;
83
- static readonly getRandomData: (length: number) => Uint8Array;
84
- static readonly getRandom: () => Uint8Array;
85
- static readonly getRandomUInt16: () => number;
86
- static readonly getRandomUInt32: () => number;
87
- static readonly getRandomBigUInt64: () => bigint;
88
- static readonly getRandomBigInt: (size: number, maxValue?: bigint) => bigint;
89
- abstract ecdhGeneratePublicKey(): MaybePromise<{
90
- publicKey: Uint8Array;
91
- ecdh: any;
92
- }>;
93
- static readonly ecdhGeneratePublicKey: () => MaybePromise<{
94
- publicKey: Uint8Array;
95
- ecdh: any;
96
- }>;
97
- abstract ecdhGeneratePublicKeyAndSecret(peerPublicKey: Uint8Array): MaybePromise<{
98
- publicKey: Uint8Array;
99
- sharedSecret: Uint8Array;
100
- }>;
101
- static readonly ecdhGeneratePublicKeyAndSecret: (peerPublicKey: Uint8Array) => MaybePromise<{
102
- publicKey: Uint8Array;
103
- sharedSecret: Uint8Array;
104
- }>;
105
- abstract ecdhGenerateSecret(peerPublicKey: Uint8Array, ecdh: any): MaybePromise<Uint8Array>;
106
- static readonly ecdhGenerateSecret: (peerPublicKey: Uint8Array, ecdh: any) => MaybePromise<Uint8Array<ArrayBufferLike>>;
107
- abstract hash(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array>;
108
- static readonly hash: (data: Uint8Array | Uint8Array[]) => MaybePromise<Uint8Array<ArrayBufferLike>>;
109
- abstract pbkdf2(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array>;
110
- static readonly pbkdf2: (secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number) => MaybePromise<Uint8Array<ArrayBufferLike>>;
111
- abstract hkdf(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array>;
112
- static readonly hkdf: (secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number) => MaybePromise<Uint8Array<ArrayBufferLike>>;
113
- abstract hmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array>;
114
- static readonly hmac: (key: Uint8Array, data: Uint8Array) => MaybePromise<Uint8Array<ArrayBufferLike>>;
115
- abstract sign(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array>;
116
- static readonly sign: (privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding) => MaybePromise<Uint8Array<ArrayBufferLike>>;
117
- abstract verify(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
118
- static readonly verify: (publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding) => MaybePromise<void>;
119
- abstract createKeyPair(): MaybePromise<PrivateKey>;
120
- static readonly createKeyPair: () => MaybePromise<PrivateKey>;
79
+ /**
80
+ * These are the cryptographic primitives required to implement the Matter protocol.
81
+ *
82
+ * We provide a platform-independent implementation that uses Web Crypto via {@link crypto.subtle} and a JS-based
83
+ * AES-CCM implementation.
84
+ *
85
+ * If your platform does not fully implement Web Crypto, or offers a native implementation of AES-CCM, you can replace
86
+ * {@link Crypto.get} to expose a different implementation.
87
+ *
88
+ * WARNING: The standard implementation is unaudited. See relevant warnings in StandardCrypto.ts.
89
+ */
90
+ export interface Crypto {
91
+ /**
92
+ * The name used in log messages.
93
+ */
94
+ implementationName: string;
95
+ /**
96
+ * Encrypt using AES-CCM with constants limited to those required by Matter.
97
+ */
98
+ encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
99
+ /**
100
+ * Decrypt using AES-CCM with constants limited to those required by Matter.
101
+ */
102
+ decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array;
103
+ /**
104
+ * Obtain random bytes from the most cryptographically-appropriate source available.
105
+ */
106
+ getRandomData(length: number): Uint8Array;
107
+ /**
108
+ * Compute the SHA-256 hash of a buffer.
109
+ */
110
+ computeSha256(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array>;
111
+ /**
112
+ * Create a key from a secret using PBKDF2.
113
+ */
114
+ createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array>;
115
+ /**
116
+ * Create a key from a secret using HKDF.
117
+ */
118
+ createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array>;
119
+ /**
120
+ * Create an HMAC signature.
121
+ */
122
+ signHmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array>;
123
+ /**
124
+ * Create an ECDSA signature.
125
+ */
126
+ signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array>;
127
+ /**
128
+ * Authenticate an ECDSA signature.
129
+ */
130
+ verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
131
+ /**
132
+ * Create a general-purpose EC key.
133
+ */
134
+ createKeyPair(): MaybePromise<PrivateKey>;
135
+ /**
136
+ * Compute the shared secret for a Diffie-Hellman exchange.
137
+ */
138
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): MaybePromise<Uint8Array>;
121
139
  }
140
+ /**
141
+ * Crypto support functions.
142
+ */
143
+ export declare const Crypto: {
144
+ /**
145
+ * The default crypto implementation.
146
+ */
147
+ readonly default: Crypto;
148
+ get provider(): undefined | (() => Crypto);
149
+ /**
150
+ * Set the default crypto provider.
151
+ */
152
+ set provider(provider: () => Crypto);
153
+ readonly implementationName: string;
154
+ encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array<ArrayBufferLike>;
155
+ decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, aad?: Uint8Array): Uint8Array<ArrayBufferLike>;
156
+ getRandomData(length: number): Uint8Array<ArrayBufferLike>;
157
+ getRandom(): Uint8Array<ArrayBufferLike>;
158
+ getRandomUInt16(): number;
159
+ getRandomUInt32(): number;
160
+ getRandomBigUInt64(): bigint;
161
+ getRandomBigInt(size: number, maxValue?: bigint): bigint;
162
+ computeSha256(data: Uint8Array | Uint8Array[]): MaybePromise<Uint8Array<ArrayBufferLike>>;
163
+ createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): MaybePromise<Uint8Array<ArrayBufferLike>>;
164
+ createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): MaybePromise<Uint8Array<ArrayBufferLike>>;
165
+ signHmac(key: Uint8Array, data: Uint8Array): MaybePromise<Uint8Array<ArrayBufferLike>>;
166
+ signEcdsa(privateKey: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Uint8Array<ArrayBufferLike>>;
167
+ verifyEcdsa(publicKey: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
168
+ createKeyPair(): MaybePromise<PrivateKey>;
169
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): MaybePromise<Uint8Array<ArrayBufferLike>>;
170
+ };
122
171
  //# sourceMappingURL=Crypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"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"}