@matter/general 0.14.1-alpha.0-20250606-a9bcd03f9 → 0.15.0-alpha.0-20250612-ddd428561

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,11 +36,11 @@ __export(Crypto_exports, {
36
36
  CRYPTO_RANDOM_LENGTH: () => CRYPTO_RANDOM_LENGTH,
37
37
  CRYPTO_SYMMETRIC_KEY_LENGTH: () => CRYPTO_SYMMETRIC_KEY_LENGTH,
38
38
  Crypto: () => Crypto,
39
- CryptoDecryptError: () => CryptoDecryptError,
40
- CryptoVerifyError: () => CryptoVerifyError,
41
39
  ec: () => ec
42
40
  });
43
41
  module.exports = __toCommonJS(Crypto_exports);
42
+ var import_Diagnostic = require("#log/Diagnostic.js");
43
+ var import_Logger = require("#log/Logger.js");
44
44
  var import_Boot = require("#util/Boot.js");
45
45
  var mod = __toESM(require("@noble/curves/abstract/modular"), 1);
46
46
  var utils = __toESM(require("@noble/curves/abstract/utils"), 1);
@@ -65,20 +65,65 @@ const CRYPTO_EC_CURVE = "prime256v1";
65
65
  const CRYPTO_EC_KEY_BYTES = 32;
66
66
  const CRYPTO_AUTH_TAG_LENGTH = 16;
67
67
  const CRYPTO_SYMMETRIC_KEY_LENGTH = 16;
68
- class CryptoVerifyError extends import_MatterError.MatterError {
69
- }
70
- class CryptoDecryptError extends import_MatterError.MatterError {
71
- }
72
- class Crypto {
73
- static get;
74
- static encrypt = (key, data, nonce, aad) => Crypto.get().encrypt(key, data, nonce, aad);
75
- static decrypt = (key, data, nonce, aad) => Crypto.get().decrypt(key, data, nonce, aad);
76
- static getRandomData = (length) => Crypto.get().getRandomData(length);
77
- static getRandom = () => Crypto.get().getRandomData(CRYPTO_RANDOM_LENGTH);
78
- static getRandomUInt16 = () => new import_DataReader.DataReader(Crypto.get().getRandomData(2), import_Bytes.Endian.Little).readUInt16();
79
- static getRandomUInt32 = () => new import_DataReader.DataReader(Crypto.get().getRandomData(4), import_Bytes.Endian.Little).readUInt32();
80
- static getRandomBigUInt64 = () => new import_DataReader.DataReader(Crypto.get().getRandomData(8), import_Bytes.Endian.Little).readUInt64();
81
- static getRandomBigInt = (size, maxValue) => {
68
+ const logger = import_Logger.Logger.get("Crypto");
69
+ let logImplementationName = true;
70
+ let defaultInstance;
71
+ let defaultProvider;
72
+ const Crypto = {
73
+ /**
74
+ * The default crypto implementation.
75
+ */
76
+ get default() {
77
+ if (defaultInstance) {
78
+ return defaultInstance;
79
+ }
80
+ if (defaultProvider === void 0) {
81
+ throw new import_MatterError.NoProviderError("There is no cryptography implementation installed");
82
+ }
83
+ defaultInstance = defaultProvider();
84
+ if (logImplementationName) {
85
+ logger.debug("Using", import_Diagnostic.Diagnostic.strong(defaultInstance.implementationName), "cryptography implementation");
86
+ }
87
+ return defaultInstance;
88
+ },
89
+ get provider() {
90
+ return defaultProvider;
91
+ },
92
+ /**
93
+ * Set the default crypto provider.
94
+ */
95
+ set provider(provider) {
96
+ if (defaultProvider === provider) {
97
+ return;
98
+ }
99
+ defaultProvider = void 0;
100
+ defaultProvider = provider;
101
+ },
102
+ get implementationName() {
103
+ return Crypto.default.implementationName;
104
+ },
105
+ encrypt(key, data, nonce, aad) {
106
+ return Crypto.default.encrypt(key, data, nonce, aad);
107
+ },
108
+ decrypt(key, data, nonce, aad) {
109
+ return Crypto.default.decrypt(key, data, nonce, aad);
110
+ },
111
+ getRandomData(length) {
112
+ return Crypto.default.getRandomData(length);
113
+ },
114
+ getRandom() {
115
+ return Crypto.default.getRandomData(CRYPTO_RANDOM_LENGTH);
116
+ },
117
+ getRandomUInt16() {
118
+ return new import_DataReader.DataReader(Crypto.default.getRandomData(2), import_Bytes.Endian.Little).readUInt16();
119
+ },
120
+ getRandomUInt32() {
121
+ return new import_DataReader.DataReader(Crypto.default.getRandomData(4), import_Bytes.Endian.Little).readUInt32();
122
+ },
123
+ getRandomBigUInt64() {
124
+ return new import_DataReader.DataReader(Crypto.default.getRandomData(8), import_Bytes.Endian.Little).readUInt64();
125
+ },
126
+ getRandomBigInt(size, maxValue) {
82
127
  const { bytesToNumberBE } = ec;
83
128
  if (maxValue === void 0) {
84
129
  return bytesToNumberBE(Crypto.getRandomData(size));
@@ -87,23 +132,39 @@ class Crypto {
87
132
  const random = bytesToNumberBE(Crypto.getRandomData(size));
88
133
  if (random < maxValue) return random;
89
134
  }
90
- };
91
- static ecdhGeneratePublicKey = () => Crypto.get().ecdhGeneratePublicKey();
92
- static ecdhGeneratePublicKeyAndSecret = (peerPublicKey) => Crypto.get().ecdhGeneratePublicKeyAndSecret(peerPublicKey);
93
- static ecdhGenerateSecret = (peerPublicKey, ecdh) => Crypto.get().ecdhGenerateSecret(peerPublicKey, ecdh);
94
- static hash = (data) => Crypto.get().hash(data);
95
- static pbkdf2 = (secret, salt, iteration, keyLength) => Crypto.get().pbkdf2(secret, salt, iteration, keyLength);
96
- static hkdf = (secret, salt, info, length) => Crypto.get().hkdf(secret, salt, info, length);
97
- static hmac = (key, data) => Crypto.get().hmac(key, data);
98
- static sign = (privateKey, data, dsaEncoding) => Crypto.get().sign(privateKey, data, dsaEncoding);
99
- static verify = (publicKey, data, signature, dsaEncoding) => Crypto.get().verify(publicKey, data, signature, dsaEncoding);
100
- static createKeyPair = () => Crypto.get().createKeyPair();
101
- }
135
+ },
136
+ computeSha256(data) {
137
+ return Crypto.default.computeSha256(data);
138
+ },
139
+ createPbkdf2Key(secret, salt, iteration, keyLength) {
140
+ return Crypto.default.createPbkdf2Key(secret, salt, iteration, keyLength);
141
+ },
142
+ createHkdfKey(secret, salt, info, length) {
143
+ return Crypto.default.createHkdfKey(secret, salt, info, length);
144
+ },
145
+ signHmac(key, data) {
146
+ return Crypto.default.signHmac(key, data);
147
+ },
148
+ signEcdsa(privateKey, data, dsaEncoding) {
149
+ return Crypto.default.signEcdsa(privateKey, data, dsaEncoding);
150
+ },
151
+ verifyEcdsa(publicKey, data, signature, dsaEncoding) {
152
+ return Crypto.default.verifyEcdsa(publicKey, data, signature, dsaEncoding);
153
+ },
154
+ createKeyPair() {
155
+ return Crypto.default.createKeyPair();
156
+ },
157
+ generateDhSecret(key, peerKey) {
158
+ return Crypto.default.generateDhSecret(key, peerKey);
159
+ }
160
+ };
161
+ Crypto;
102
162
  import_Boot.Boot.init(() => {
103
- Crypto.get = () => {
104
- throw new import_MatterError.NoProviderError("No provider configured");
105
- };
163
+ logImplementationName = true;
164
+ defaultInstance = void 0;
165
+ defaultProvider = void 0;
106
166
  if (typeof MatterHooks !== "undefined") {
167
+ logImplementationName = true;
107
168
  MatterHooks.cryptoSetup?.(Crypto);
108
169
  }
109
170
  });
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Crypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Project CHIP Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { MatterError } from "#MatterError.js";
7
+ /**
8
+ * Errors thrown by crypto implementations.
9
+ */
10
+ export declare class CryptoError extends MatterError {
11
+ }
12
+ /**
13
+ * Thrown when a crypto algorithm encounters invalid input.
14
+ */
15
+ export declare class CryptoInputError extends MatterError {
16
+ }
17
+ /**
18
+ * Thrown when verification fails.
19
+ */
20
+ export declare class CryptoVerifyError extends CryptoError {
21
+ }
22
+ /**
23
+ * Thrown when decryption fails.
24
+ */
25
+ export declare class CryptoDecryptError extends CryptoError {
26
+ }
27
+ /**
28
+ * Thrown when cryptographic key parameters are invalid.
29
+ */
30
+ export declare class KeyInputError extends CryptoInputError {
31
+ }
32
+ //# sourceMappingURL=CryptoError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CryptoError.d.ts","sourceRoot":"","sources":["../../../src/crypto/CryptoError.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAY,SAAQ,WAAW;CAAG;AAE/C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,WAAW;CAAG;AAEpD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;CAAG;AAErD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;CAAG;AAEtD;;GAEG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;CAAG"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var CryptoError_exports = {};
20
+ __export(CryptoError_exports, {
21
+ CryptoDecryptError: () => CryptoDecryptError,
22
+ CryptoError: () => CryptoError,
23
+ CryptoInputError: () => CryptoInputError,
24
+ CryptoVerifyError: () => CryptoVerifyError,
25
+ KeyInputError: () => KeyInputError
26
+ });
27
+ module.exports = __toCommonJS(CryptoError_exports);
28
+ var import_MatterError = require("#MatterError.js");
29
+ /**
30
+ * @license
31
+ * Copyright 2022-2025 Project CHIP Authors
32
+ * SPDX-License-Identifier: Apache-2.0
33
+ */
34
+ class CryptoError extends import_MatterError.MatterError {
35
+ }
36
+ class CryptoInputError extends import_MatterError.MatterError {
37
+ }
38
+ class CryptoVerifyError extends CryptoError {
39
+ }
40
+ class CryptoDecryptError extends CryptoError {
41
+ }
42
+ class KeyInputError extends CryptoInputError {
43
+ }
44
+ //# sourceMappingURL=CryptoError.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/CryptoError.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;AAN5B;AAAA;AAAA;AAAA;AAAA;AAWO,MAAM,oBAAoB,+BAAY;AAAC;AAKvC,MAAM,yBAAyB,+BAAY;AAAC;AAK5C,MAAM,0BAA0B,YAAY;AAAC;AAK7C,MAAM,2BAA2B,YAAY;AAAC;AAK9C,MAAM,sBAAsB,iBAAiB;AAAC;",
5
+ "names": []
6
+ }
@@ -157,11 +157,11 @@ export interface SymmetricKey extends Key {
157
157
  */
158
158
  export declare function Key(properties: Partial<Key>): Key;
159
159
  /**
160
- * Private key factory.
160
+ * EC private key factory.
161
161
  */
162
162
  export declare function PrivateKey(privateKey: Uint8Array | BinaryKeyPair, options?: Partial<Key>): PrivateKey;
163
163
  /**
164
- * Public key factory.
164
+ * EC public key factory.
165
165
  */
166
166
  export declare function PublicKey(publicKey: Uint8Array, options?: Partial<Key>): PublicKey;
167
167
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmCH,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;CAC9B;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,GAa/E,UAAU,CACnB;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"}
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,7 @@ var import_DerCodec = require("../codec/DerCodec.js");
31
31
  var import_MatterError = require("../MatterError.js");
32
32
  var import_Bytes = require("../util/Bytes.js");
33
33
  var import_Crypto = require("./Crypto.js");
34
+ var import_CryptoError = require("./CryptoError.js");
34
35
  /**
35
36
  * @license
36
37
  * Copyright 2022-2025 Matter.js Authors
@@ -40,8 +41,6 @@ const {
40
41
  numberToBytesBE,
41
42
  p256: { ProjectivePoint }
42
43
  } = import_Crypto.ec;
43
- class KeyError extends import_MatterError.MatterError {
44
- }
45
44
  const JWK_KEYS = [
46
45
  "crv",
47
46
  "d",
@@ -88,19 +87,19 @@ const CurveLookup = {
88
87
  function checkDerVersion(type, node, version) {
89
88
  const derVersion = node && node._tag === import_DerCodec.DerType.Integer && node._bytes && node._bytes.length === 1 && node._bytes[0];
90
89
  if (derVersion !== version) {
91
- throw new KeyError(`${type} key version mismatch`);
90
+ throw new import_CryptoError.KeyInputError(`${type} key version mismatch`);
92
91
  }
93
92
  }
94
93
  function getDerObjectID(type, node) {
95
94
  const id = node && node._tag === import_DerCodec.DerType.ObjectIdentifier && node._bytes?.length > 1 && node._bytes;
96
95
  if (id) return id;
97
- throw new KeyError(`Missing object in ${type} key`);
96
+ throw new import_CryptoError.KeyInputError(`Missing object in ${type} key`);
98
97
  }
99
98
  function getDerCurve(type, node) {
100
99
  const oid = getDerObjectID(type, node);
101
100
  const curve = CurveLookup[import_Bytes.Bytes.toHex(oid)];
102
101
  if (curve) return curve;
103
- throw new KeyError(`Unsupported ${type} EC curve`);
102
+ throw new import_CryptoError.KeyInputError(`Unsupported ${type} EC curve`);
104
103
  }
105
104
  function getDerKey(type, node, derType = import_DerCodec.DerType.OctetString) {
106
105
  const key = node && node._tag === derType && node._bytes?.length > 1 && node._bytes;
@@ -134,12 +133,12 @@ var Translators;
134
133
  const algorithmElements = outer?._elements?.[1]?._elements;
135
134
  const algorithm = getDerObjectID("PKCS #8", algorithmElements?.[0]);
136
135
  if (import_Bytes.Bytes.toHex(algorithm) !== "2a8648ce3d0201" /* ecPublicKey */) {
137
- throw new KeyError("Unsupported PKCS #8 decryption algorithm");
136
+ throw new import_CryptoError.KeyInputError("Unsupported PKCS #8 decryption algorithm");
138
137
  }
139
138
  const curve = getDerCurve("PKCS #8", algorithmElements?.[1]);
140
139
  const innerBytes = outer?._elements?.[2]._bytes;
141
140
  if (innerBytes === void 0 || innerBytes === null) {
142
- throw new KeyError("Invalid PKCS #8 key");
141
+ throw new import_CryptoError.KeyInputError("Invalid PKCS #8 key");
143
142
  }
144
143
  const inner = import_DerCodec.DerCodec.decode(innerBytes);
145
144
  const key = getDerKey("PKCS #8", inner?._elements?.[1]);
@@ -157,7 +156,7 @@ var Translators;
157
156
  const algorithmElements = decoded?._elements?.[0]?._elements;
158
157
  const algorithm = getDerObjectID("SPKI", algorithmElements?.[0]);
159
158
  if (import_Bytes.Bytes.toHex(algorithm) !== "2a8648ce3d0201" /* ecPublicKey */) {
160
- throw new KeyError("Unsupported SPKI decryption algorithm");
159
+ throw new import_CryptoError.KeyInputError("Unsupported SPKI decryption algorithm");
161
160
  }
162
161
  const curve = getDerCurve("SPKI", algorithmElements?.[1]);
163
162
  const key = getDerKey("SPKI", decoded?._elements?.[1], import_DerCodec.DerType.BitString);
@@ -172,16 +171,16 @@ var Translators;
172
171
  Translators2.publicBits = {
173
172
  set: function(input) {
174
173
  if (!(input.length % 2)) {
175
- throw new KeyError("Invalid public key encoding");
174
+ throw new import_CryptoError.KeyInputError("Invalid public key encoding");
176
175
  }
177
176
  switch (input[0]) {
178
177
  case 2:
179
178
  case 3:
180
- throw new KeyError("Unsupported public key compression");
179
+ throw new import_CryptoError.KeyInputError("Unsupported public key compression");
181
180
  case 4:
182
181
  break;
183
182
  case 5:
184
- throw new KeyError("Illegal public key format specifier");
183
+ throw new import_CryptoError.KeyInputError("Illegal public key format specifier");
185
184
  }
186
185
  const coordinateLength = (input.length - 1) / 2;
187
186
  inferCurve(this, coordinateLength);
@@ -248,7 +247,7 @@ function inferCurve(key, bytes) {
248
247
  key.curve = "P-256" /* p256 */;
249
248
  break;
250
249
  default:
251
- throw new KeyError(`Cannot infer named curve from key length ${bytes}`);
250
+ throw new import_CryptoError.KeyInputError(`Cannot infer named curve from key length ${bytes}`);
252
251
  }
253
252
  }
254
253
  }
@@ -286,7 +285,7 @@ function Key(properties) {
286
285
  get: () => {
287
286
  const result = that[target];
288
287
  if (result === void 0) {
289
- throw new KeyError(`Key field ${target} is not defined`);
288
+ throw new import_CryptoError.KeyInputError(`Key field ${target} is not defined`);
290
289
  }
291
290
  return result;
292
291
  },
@@ -297,8 +296,8 @@ function Key(properties) {
297
296
  assign(alias);
298
297
  });
299
298
  function derivePublicFromPrivate() {
300
- if (that.type !== "EC" /* EC */) throw new KeyError("EC key type required to compute public point");
301
- if (!that.private) throw new KeyError("EC private key required to compute public point");
299
+ if (that.type !== "EC" /* EC */) throw new import_CryptoError.KeyInputError("EC key type required to compute public point");
300
+ if (!that.private) throw new import_CryptoError.KeyInputError("EC private key required to compute public point");
302
301
  const crv = that.crv;
303
302
  let keyLength;
304
303
  switch (crv) {
@@ -306,7 +305,7 @@ function Key(properties) {
306
305
  keyLength = 32;
307
306
  break;
308
307
  default:
309
- throw new KeyError(`Unsupported elliptic curve ${crv}`);
308
+ throw new import_CryptoError.KeyInputError(`Unsupported elliptic curve ${crv}`);
310
309
  }
311
310
  const ecKey = ProjectivePoint.fromPrivateKey(that.privateKey);
312
311
  that.xBits = numberToBytesBE(ecKey.x, keyLength);
@@ -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
  }
@@ -49,7 +49,7 @@ class Spake2p {
49
49
  static async computeW0W1({ iterations, salt }, pin) {
50
50
  const pinWriter = new import_DataWriter.DataWriter(import_Bytes.Endian.Little);
51
51
  pinWriter.writeUInt32(pin);
52
- const ws = await import_Crypto.Crypto.pbkdf2(pinWriter.toByteArray(), salt, iterations, CRYPTO_W_SIZE_BYTES * 2);
52
+ const ws = await import_Crypto.Crypto.createPbkdf2Key(pinWriter.toByteArray(), salt, iterations, CRYPTO_W_SIZE_BYTES * 2);
53
53
  const w0 = mod(bytesToNumberBE(ws.slice(0, 40)), P256_CURVE.n);
54
54
  const w1 = mod(bytesToNumberBE(ws.slice(40, 80)), P256_CURVE.n);
55
55
  return { w0, w1 };
@@ -99,11 +99,11 @@ class Spake2p {
99
99
  const TT_HASH = await this.computeTranscriptHash(X, Y, Z, V);
100
100
  const Ka = TT_HASH.slice(0, 16);
101
101
  const Ke = TT_HASH.slice(16, 32);
102
- const KcAB = await import_Crypto.Crypto.hkdf(Ka, new Uint8Array(0), import_Bytes.Bytes.fromString("ConfirmationKeys"), 32);
102
+ const KcAB = await import_Crypto.Crypto.createHkdfKey(Ka, new Uint8Array(0), import_Bytes.Bytes.fromString("ConfirmationKeys"), 32);
103
103
  const KcA = KcAB.slice(0, 16);
104
104
  const KcB = KcAB.slice(16, 32);
105
- const hAY = await import_Crypto.Crypto.hmac(KcA, Y);
106
- const hBX = await import_Crypto.Crypto.hmac(KcB, X);
105
+ const hAY = await import_Crypto.Crypto.signHmac(KcA, Y);
106
+ const hBX = await import_Crypto.Crypto.signHmac(KcB, X);
107
107
  return { Ke, hAY, hBX };
108
108
  }
109
109
  computeTranscriptHash(X, Y, Z, V) {
@@ -118,7 +118,7 @@ class Spake2p {
118
118
  this.addToContext(TTwriter, Z);
119
119
  this.addToContext(TTwriter, V);
120
120
  this.addToContext(TTwriter, numberToBytesBE(this.w0, 32));
121
- return import_Crypto.Crypto.hash(TTwriter.toByteArray());
121
+ return import_Crypto.Crypto.computeSha256(TTwriter.toByteArray());
122
122
  }
123
123
  addToContext(TTwriter, data) {
124
124
  TTwriter.writeUInt64(data.length);
@@ -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
  }
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @license
3
+ *
4
+ * Portions copyright 2022-2023 Project CHIP Authors
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
8
+ import { PrivateKey, PublicKey } from "./Key.js";
9
+ /**
10
+ * A {@link Crypto} implementation based on standard "crypto.subtle" with missing portions implemented using JS.
11
+ *
12
+ * WARNING: This code is unaudited. Use a trusted native alternative where available.
13
+ *
14
+ * This module is mostly based on {@link crypto.subtle}. This should be a reliable native implementation. However,
15
+ * Web Crypto doesn't support AES-CCM required by Matter so fall back to a JS implementation for that. See relevant
16
+ * warnings in the "aes" subdirectory.
17
+ */
18
+ export declare class StandardCrypto implements Crypto {
19
+ implementationName: string;
20
+ static provider(): StandardCrypto;
21
+ getRandomData(length: number): Uint8Array;
22
+ encrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, associatedData?: Uint8Array): Uint8Array<ArrayBufferLike>;
23
+ decrypt(key: Uint8Array, data: Uint8Array, nonce: Uint8Array, associatedData?: Uint8Array): Uint8Array<ArrayBufferLike>;
24
+ computeSha256(buffer: Uint8Array | Uint8Array[]): Promise<Uint8Array<ArrayBuffer>>;
25
+ createPbkdf2Key(secret: Uint8Array, salt: Uint8Array, iteration: number, keyLength: number): Promise<Uint8Array<ArrayBuffer>>;
26
+ createHkdfKey(secret: Uint8Array, salt: Uint8Array, info: Uint8Array, length?: number): Promise<Uint8Array<ArrayBuffer>>;
27
+ signHmac(secret: Uint8Array, data: Uint8Array): Promise<Uint8Array<ArrayBuffer>>;
28
+ signEcdsa(key: JsonWebKey, data: Uint8Array | Uint8Array[], dsaEncoding?: CryptoDsaEncoding): Promise<Uint8Array<ArrayBuffer>>;
29
+ verifyEcdsa(key: JsonWebKey, data: Uint8Array, signature: Uint8Array, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
30
+ createKeyPair(): Promise<PrivateKey>;
31
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Uint8Array<ArrayBuffer>>;
32
+ }
33
+ //# sourceMappingURL=StandardCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,MAAM,EAA+B,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErF,OAAO,EAA2B,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAU1E;;;;;;;;GAQG;AACH,qBAAa,cAAe,YAAW,MAAM;IACzC,kBAAkB,SAAQ;IAE1B,MAAM,CAAC,QAAQ;IAIf,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAMzC,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;IA2Bb,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS;CAkC7D"}