@matter/general 0.16.0-alpha.0-20250821-dd03e1003 → 0.16.0-alpha.0-20250826-531401faa

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 (37) hide show
  1. package/dist/cjs/crypto/Key.d.ts +8 -7
  2. package/dist/cjs/crypto/Key.d.ts.map +1 -1
  3. package/dist/cjs/crypto/Key.js +8 -7
  4. package/dist/cjs/crypto/Key.js.map +2 -2
  5. package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts +49 -0
  6. package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts.map +1 -0
  7. package/dist/cjs/crypto/NodeJsStyleCrypto.js +174 -0
  8. package/dist/cjs/crypto/NodeJsStyleCrypto.js.map +6 -0
  9. package/dist/cjs/crypto/StandardCrypto.d.ts +2 -1
  10. package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -1
  11. package/dist/cjs/crypto/StandardCrypto.js +4 -3
  12. package/dist/cjs/crypto/StandardCrypto.js.map +1 -1
  13. package/dist/cjs/crypto/index.d.ts +1 -0
  14. package/dist/cjs/crypto/index.d.ts.map +1 -1
  15. package/dist/cjs/crypto/index.js +1 -0
  16. package/dist/cjs/crypto/index.js.map +1 -1
  17. package/dist/esm/crypto/Key.d.ts +8 -7
  18. package/dist/esm/crypto/Key.d.ts.map +1 -1
  19. package/dist/esm/crypto/Key.js +8 -7
  20. package/dist/esm/crypto/Key.js.map +2 -2
  21. package/dist/esm/crypto/NodeJsStyleCrypto.d.ts +49 -0
  22. package/dist/esm/crypto/NodeJsStyleCrypto.d.ts.map +1 -0
  23. package/dist/esm/crypto/NodeJsStyleCrypto.js +162 -0
  24. package/dist/esm/crypto/NodeJsStyleCrypto.js.map +6 -0
  25. package/dist/esm/crypto/StandardCrypto.d.ts +2 -1
  26. package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -1
  27. package/dist/esm/crypto/StandardCrypto.js +4 -3
  28. package/dist/esm/crypto/StandardCrypto.js.map +1 -1
  29. package/dist/esm/crypto/index.d.ts +1 -0
  30. package/dist/esm/crypto/index.d.ts.map +1 -1
  31. package/dist/esm/crypto/index.js +1 -0
  32. package/dist/esm/crypto/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/crypto/Key.ts +9 -9
  35. package/src/crypto/NodeJsStyleCrypto.ts +212 -0
  36. package/src/crypto/StandardCrypto.ts +5 -3
  37. package/src/crypto/index.ts +1 -0
@@ -144,7 +144,6 @@ export interface PrivateKey extends PublicKey {
144
144
  privateKey: Bytes;
145
145
  keyPair: BinaryKeyPair;
146
146
  keyPairBits: BinaryKeyPair;
147
- sharedSecretFor(peerKey: PublicKey): Bytes;
148
147
  }
149
148
  /**
150
149
  * Symmetric key.
@@ -170,10 +169,12 @@ export declare function PublicKey(publicKey: Bytes, options?: Partial<Key>): Pub
170
169
  * Symmetric key factory.
171
170
  */
172
171
  export declare function SymmetricKey(privateKey: Bytes, options?: Partial<Key>): Key;
173
- /**
174
- * Diffie-Hellman shared secret computation.
175
- *
176
- * We provide this for platforms without a native implementation.
177
- */
178
- export declare function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Bytes;
172
+ export declare namespace Key {
173
+ /**
174
+ * Diffie-Hellman shared secret computation.
175
+ *
176
+ * We provide this for platforms without a native implementation.
177
+ */
178
+ function sharedSecretFor(key: PrivateKey, peerKey: PublicKey): Bytes;
179
+ }
179
180
  //# sourceMappingURL=Key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,7 @@ __export(Key_exports, {
23
23
  KeyType: () => KeyType,
24
24
  PrivateKey: () => PrivateKey,
25
25
  PublicKey: () => PublicKey,
26
- SymmetricKey: () => SymmetricKey,
27
- sharedSecretFor: () => sharedSecretFor
26
+ SymmetricKey: () => SymmetricKey
28
27
  });
29
28
  module.exports = __toCommonJS(Key_exports);
30
29
  var import_Base64Codec = require("../codec/Base64Codec.js");
@@ -337,8 +336,7 @@ function PrivateKey(privateKey, options) {
337
336
  type: "EC" /* EC */,
338
337
  privateKey: priv,
339
338
  publicKey: pub,
340
- ...options,
341
- sharedSecretFor
339
+ ...options
342
340
  });
343
341
  }
344
342
  function PublicKey(publicKey, options) {
@@ -355,7 +353,10 @@ function SymmetricKey(privateKey, options) {
355
353
  ...options
356
354
  });
357
355
  }
358
- function sharedSecretFor(peerKey) {
359
- return import_Bytes.Bytes.of(getSharedSecret(import_Bytes.Bytes.of(this.privateBits), import_Bytes.Bytes.of(peerKey.publicBits)));
360
- }
356
+ ((Key2) => {
357
+ function sharedSecretFor(key, peerKey) {
358
+ return import_Bytes.Bytes.of(getSharedSecret(import_Bytes.Bytes.of(key.privateBits), import_Bytes.Bytes.of(peerKey.publicBits)));
359
+ }
360
+ Key2.sharedSecretFor = sharedSecretFor;
361
+ })(Key || (Key = {}));
361
362
  //# 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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",
5
- "names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases"]
4
+ "mappings": "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",
5
+ "names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases", "Key"]
6
6
  }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes } from "#util/Bytes.js";
7
+ import { Identity } from "#util/Type.js";
8
+ import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
+ import { PrivateKey, PublicKey } from "./Key.js";
10
+ import type * as NodeJsCryptoApi from "node:crypto";
11
+ /**
12
+ * A crypto API implemented in the style of Node.js.
13
+ */
14
+ export interface NodeJsCryptoApiLike extends Identity<typeof NodeJsCryptoApi> {
15
+ }
16
+ /**
17
+ * A crypto implementation that uses the Node.js crypto API.
18
+ *
19
+ * It is Node.js "style" because there are many packages that emulate the Node.js API. As of now (mid-2025) these are
20
+ * sometimes more mature than the available Web Crypto implementation.
21
+ *
22
+ * This module does not import the Node.js crypto implementation directly. You must provide a crypto implementation to
23
+ * use it.
24
+ */
25
+ export declare class NodeJsStyleCrypto extends Crypto {
26
+ #private;
27
+ implementationName: string;
28
+ constructor(crypto: NodeJsCryptoApiLike);
29
+ encrypt(key: Bytes, data: Bytes, nonce: Bytes, aad?: Bytes): Bytes;
30
+ decrypt(key: Bytes, encrypted: Bytes, nonce: Bytes, aad?: Bytes): Bytes;
31
+ randomBytes(length: number): Bytes;
32
+ ecdhGeneratePublicKey(): {
33
+ publicKey: Bytes;
34
+ ecdh: any;
35
+ };
36
+ ecdhGeneratePublicKeyAndSecret(peerPublicKey: Bytes): {
37
+ publicKey: Bytes;
38
+ sharedSecret: Bytes;
39
+ };
40
+ computeSha256(data: Bytes | Bytes[]): Bytes;
41
+ createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<Bytes>;
42
+ createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
43
+ signHmac(key: Bytes, data: Bytes): Bytes;
44
+ signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Bytes;
45
+ verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): void;
46
+ createKeyPair(): PrivateKey;
47
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): Bytes;
48
+ }
49
+ //# sourceMappingURL=NodeJsStyleCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,MAAM,EAON,iBAAiB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,KAAK,KAAK,eAAe,MAAM,aAAa,CAAC;AAKpD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;CAAG;AAEhF;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;;IACzC,kBAAkB,SAAa;gBAInB,MAAM,EAAE,mBAAmB;IAMvC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAYlE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAmBvE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAIlC,qBAAqB,IAAI;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IAMxD,8BAA8B,CAAC,aAAa,EAAE,KAAK,GAAG;QAClD,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,KAAK,CAAC;KACvB;IASD,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK;IAU3C,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBjG,aAAa,CACT,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,MAAoC,GAC7C,OAAO,CAAC,KAAK,CAAC;IAgBjB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAMxC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,WAAW,GAAE,iBAAgC,GAAG,KAAK;IAiB9G,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAE,iBAAgC;IAe/G,aAAa;IAcb,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK;CAM/D"}
@@ -0,0 +1,174 @@
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 NodeJsStyleCrypto_exports = {};
20
+ __export(NodeJsStyleCrypto_exports, {
21
+ NodeJsStyleCrypto: () => NodeJsStyleCrypto
22
+ });
23
+ module.exports = __toCommonJS(NodeJsStyleCrypto_exports);
24
+ var import_Bytes = require("#util/Bytes.js");
25
+ var import_Error = require("#util/Error.js");
26
+ var import_Crypto = require("./Crypto.js");
27
+ var import_CryptoError = require("./CryptoError.js");
28
+ var import_Key = require("./Key.js");
29
+ /**
30
+ * @license
31
+ * Copyright 2022-2025 Matter.js Authors
32
+ * SPDX-License-Identifier: Apache-2.0
33
+ */
34
+ class NodeJsStyleCrypto extends import_Crypto.Crypto {
35
+ implementationName = "Node.js";
36
+ #crypto;
37
+ constructor(crypto) {
38
+ super();
39
+ this.#crypto = crypto;
40
+ }
41
+ encrypt(key, data, nonce, aad) {
42
+ const cipher = this.#crypto.createCipheriv(import_Crypto.CRYPTO_ENCRYPT_ALGORITHM, import_Bytes.Bytes.of(key), import_Bytes.Bytes.of(nonce), {
43
+ authTagLength: import_Crypto.CRYPTO_AUTH_TAG_LENGTH
44
+ });
45
+ if (aad !== void 0) {
46
+ cipher.setAAD(import_Bytes.Bytes.of(aad), { plaintextLength: data.byteLength });
47
+ }
48
+ const encrypted = cipher.update(import_Bytes.Bytes.of(data));
49
+ cipher.final();
50
+ return import_Bytes.Bytes.concat(import_Bytes.Bytes.of(encrypted), import_Bytes.Bytes.of(cipher.getAuthTag()));
51
+ }
52
+ decrypt(key, encrypted, nonce, aad) {
53
+ const cipher = this.#crypto.createDecipheriv(import_Crypto.CRYPTO_ENCRYPT_ALGORITHM, import_Bytes.Bytes.of(key), import_Bytes.Bytes.of(nonce), {
54
+ authTagLength: import_Crypto.CRYPTO_AUTH_TAG_LENGTH
55
+ });
56
+ const data = import_Bytes.Bytes.of(encrypted);
57
+ const plaintextLength = data.length - import_Crypto.CRYPTO_AUTH_TAG_LENGTH;
58
+ if (aad !== void 0) {
59
+ cipher.setAAD(import_Bytes.Bytes.of(aad), { plaintextLength });
60
+ }
61
+ cipher.setAuthTag(data.slice(plaintextLength));
62
+ const result = cipher.update(data.slice(0, plaintextLength));
63
+ try {
64
+ cipher.final();
65
+ } catch (e) {
66
+ throw new import_CryptoError.CryptoDecryptError(`${import_Crypto.CRYPTO_ENCRYPT_ALGORITHM} decryption failed: ${(0, import_Error.asError)(e).message}`);
67
+ }
68
+ return import_Bytes.Bytes.of(result);
69
+ }
70
+ randomBytes(length) {
71
+ return import_Bytes.Bytes.of(this.#crypto.randomBytes(length));
72
+ }
73
+ ecdhGeneratePublicKey() {
74
+ const ecdh = this.#crypto.createECDH(import_Crypto.CRYPTO_EC_CURVE);
75
+ ecdh.generateKeys();
76
+ return { publicKey: import_Bytes.Bytes.of(ecdh.getPublicKey()), ecdh };
77
+ }
78
+ ecdhGeneratePublicKeyAndSecret(peerPublicKey) {
79
+ const ecdh = this.#crypto.createECDH(import_Crypto.CRYPTO_EC_CURVE);
80
+ ecdh.generateKeys();
81
+ return {
82
+ publicKey: import_Bytes.Bytes.of(ecdh.getPublicKey()),
83
+ sharedSecret: import_Bytes.Bytes.of(ecdh.computeSecret(import_Bytes.Bytes.of(peerPublicKey)))
84
+ };
85
+ }
86
+ computeSha256(data) {
87
+ const hasher = this.#crypto.createHash(import_Crypto.CRYPTO_HASH_ALGORITHM);
88
+ if (Array.isArray(data)) {
89
+ data.forEach((chunk) => hasher.update(import_Bytes.Bytes.of(chunk)));
90
+ } else {
91
+ hasher.update(import_Bytes.Bytes.of(data));
92
+ }
93
+ return import_Bytes.Bytes.of(hasher.digest());
94
+ }
95
+ createPbkdf2Key(secret, salt, iteration, keyLength) {
96
+ return new Promise((resolver, rejecter) => {
97
+ this.#crypto.pbkdf2(
98
+ import_Bytes.Bytes.of(secret),
99
+ import_Bytes.Bytes.of(salt),
100
+ iteration,
101
+ keyLength,
102
+ import_Crypto.CRYPTO_HASH_ALGORITHM,
103
+ (error, key) => {
104
+ if (error !== null) rejecter(error);
105
+ resolver(import_Bytes.Bytes.of(key));
106
+ }
107
+ );
108
+ });
109
+ }
110
+ createHkdfKey(secret, salt, info, length = import_Crypto.CRYPTO_SYMMETRIC_KEY_LENGTH) {
111
+ return new Promise((resolver, rejecter) => {
112
+ this.#crypto.hkdf(
113
+ import_Crypto.CRYPTO_HASH_ALGORITHM,
114
+ import_Bytes.Bytes.of(secret),
115
+ import_Bytes.Bytes.of(salt),
116
+ import_Bytes.Bytes.of(info),
117
+ length,
118
+ (error, key) => {
119
+ if (error !== null) rejecter(error);
120
+ resolver(import_Bytes.Bytes.of(key));
121
+ }
122
+ );
123
+ });
124
+ }
125
+ signHmac(key, data) {
126
+ const hmac = this.#crypto.createHmac(import_Crypto.CRYPTO_HASH_ALGORITHM, import_Bytes.Bytes.of(key));
127
+ hmac.update(import_Bytes.Bytes.of(data));
128
+ return import_Bytes.Bytes.of(hmac.digest());
129
+ }
130
+ signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
131
+ const signer = this.#crypto.createSign(import_Crypto.CRYPTO_HASH_ALGORITHM);
132
+ if (Array.isArray(data)) {
133
+ data.forEach((chunk) => signer.update(import_Bytes.Bytes.of(chunk)));
134
+ } else {
135
+ signer.update(import_Bytes.Bytes.of(data));
136
+ }
137
+ return import_Bytes.Bytes.of(
138
+ signer.sign({
139
+ key: privateKey,
140
+ format: "jwk",
141
+ type: "pkcs8",
142
+ dsaEncoding
143
+ })
144
+ );
145
+ }
146
+ verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
147
+ const verifier = this.#crypto.createVerify(import_Crypto.CRYPTO_HASH_ALGORITHM);
148
+ verifier.update(import_Bytes.Bytes.of(data));
149
+ const success = verifier.verify(
150
+ {
151
+ key: publicKey,
152
+ format: "jwk",
153
+ type: "spki",
154
+ dsaEncoding
155
+ },
156
+ import_Bytes.Bytes.of(signature)
157
+ );
158
+ if (!success) throw new import_CryptoError.CryptoVerifyError("Signature verification failed");
159
+ }
160
+ createKeyPair() {
161
+ const ecdh = this.#crypto.createECDH(import_Crypto.CRYPTO_EC_CURVE);
162
+ ecdh.generateKeys();
163
+ const privateKey = new Uint8Array(import_Crypto.CRYPTO_EC_KEY_BYTES);
164
+ const nodePrivateKey = ecdh.getPrivateKey();
165
+ privateKey.set(nodePrivateKey, import_Crypto.CRYPTO_EC_KEY_BYTES - nodePrivateKey.length);
166
+ return (0, import_Key.PrivateKey)(privateKey, { publicKey: import_Bytes.Bytes.of(ecdh.getPublicKey()) });
167
+ }
168
+ generateDhSecret(key, peerKey) {
169
+ const ecdh = this.#crypto.createECDH(import_Crypto.CRYPTO_EC_CURVE);
170
+ ecdh.setPrivateKey(import_Bytes.Bytes.of(key.privateBits));
171
+ return import_Bytes.Bytes.of(ecdh.computeSecret(import_Bytes.Bytes.of(peerKey.publicBits)));
172
+ }
173
+ }
174
+ //# sourceMappingURL=NodeJsStyleCrypto.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/NodeJsStyleCrypto.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -5,6 +5,7 @@
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { Bytes } from "#util/Bytes.js";
8
+ import { MaybePromise } from "#util/Promises.js";
8
9
  import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
10
  import { PrivateKey, PublicKey } from "./Key.js";
10
11
  import { WebCrypto } from "./WebCrypto.js";
@@ -29,7 +30,7 @@ export declare class StandardCrypto extends Crypto {
29
30
  computeSha256(buffer: Bytes | Bytes[]): Promise<ArrayBuffer>;
30
31
  createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<ArrayBuffer>;
31
32
  createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
32
- signHmac(secret: Bytes, data: Bytes): Promise<Bytes>;
33
+ signHmac(secret: Bytes, data: Bytes): MaybePromise<Bytes>;
33
34
  signEcdsa(key: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Promise<AllowSharedBufferSource>;
34
35
  verifyEcdsa(key: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
35
36
  createKeyPair(): Promise<PrivateKey>;
@@ -1 +1 @@
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"}
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;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,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;IAcjB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAMnD,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"}
@@ -122,9 +122,10 @@ class StandardCrypto extends import_Crypto.Crypto {
122
122
  8 * length
123
123
  );
124
124
  }
125
- async signHmac(secret, data) {
126
- const key = await this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
127
- return this.#subtle.sign("HMAC", key, import_Bytes.Bytes.exclusive(data));
125
+ signHmac(secret, data) {
126
+ return this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]).then(
127
+ (key) => this.#subtle.sign("HMAC", key, import_Bytes.Bytes.exclusive(data))
128
+ );
128
129
  }
129
130
  async signEcdsa(key, data, dsaEncoding) {
130
131
  if (Array.isArray(data)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/StandardCrypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["name"]
6
6
  }
@@ -8,6 +8,7 @@ export * from "./CryptoConstants.js";
8
8
  export * from "./CryptoError.js";
9
9
  export * from "./Key.js";
10
10
  export * from "./MockCrypto.js";
11
+ export * from "./NodeJsStyleCrypto.js";
11
12
  export * from "./Spake2p.js";
12
13
  export * from "./StandardCrypto.js";
13
14
  export * from "./WebCrypto.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -20,6 +20,7 @@ __reExport(crypto_exports, require("./CryptoConstants.js"), module.exports);
20
20
  __reExport(crypto_exports, require("./CryptoError.js"), module.exports);
21
21
  __reExport(crypto_exports, require("./Key.js"), module.exports);
22
22
  __reExport(crypto_exports, require("./MockCrypto.js"), module.exports);
23
+ __reExport(crypto_exports, require("./NodeJsStyleCrypto.js"), module.exports);
23
24
  __reExport(crypto_exports, require("./Spake2p.js"), module.exports);
24
25
  __reExport(crypto_exports, require("./StandardCrypto.js"), module.exports);
25
26
  __reExport(crypto_exports, require("./WebCrypto.js"), module.exports);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wBANd;AAOA,2BAAc,iCAPd;AAQA,2BAAc,6BARd;AASA,2BAAc,qBATd;AAUA,2BAAc,4BAVd;AAWA,2BAAc,yBAXd;AAYA,2BAAc,gCAZd;AAaA,2BAAc,2BAbd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wBANd;AAOA,2BAAc,iCAPd;AAQA,2BAAc,6BARd;AASA,2BAAc,qBATd;AAUA,2BAAc,4BAVd;AAWA,2BAAc,mCAXd;AAYA,2BAAc,yBAZd;AAaA,2BAAc,gCAbd;AAcA,2BAAc,2BAdd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -144,7 +144,6 @@ export interface PrivateKey extends PublicKey {
144
144
  privateKey: Bytes;
145
145
  keyPair: BinaryKeyPair;
146
146
  keyPairBits: BinaryKeyPair;
147
- sharedSecretFor(peerKey: PublicKey): Bytes;
148
147
  }
149
148
  /**
150
149
  * Symmetric key.
@@ -170,10 +169,12 @@ export declare function PublicKey(publicKey: Bytes, options?: Partial<Key>): Pub
170
169
  * Symmetric key factory.
171
170
  */
172
171
  export declare function SymmetricKey(privateKey: Bytes, options?: Partial<Key>): Key;
173
- /**
174
- * Diffie-Hellman shared secret computation.
175
- *
176
- * We provide this for platforms without a native implementation.
177
- */
178
- export declare function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Bytes;
172
+ export declare namespace Key {
173
+ /**
174
+ * Diffie-Hellman shared secret computation.
175
+ *
176
+ * We provide this for platforms without a native implementation.
177
+ */
178
+ function sharedSecretFor(key: PrivateKey, peerKey: PublicKey): Bytes;
179
+ }
179
180
  //# sourceMappingURL=Key.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Key.d.ts","sourceRoot":"","sources":["../../../src/crypto/Key.ts"],"names":[],"mappings":"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"}
@@ -308,8 +308,7 @@ function PrivateKey(privateKey, options) {
308
308
  type: "EC" /* EC */,
309
309
  privateKey: priv,
310
310
  publicKey: pub,
311
- ...options,
312
- sharedSecretFor
311
+ ...options
313
312
  });
314
313
  }
315
314
  function PublicKey(publicKey, options) {
@@ -326,16 +325,18 @@ function SymmetricKey(privateKey, options) {
326
325
  ...options
327
326
  });
328
327
  }
329
- function sharedSecretFor(peerKey) {
330
- return Bytes.of(getSharedSecret(Bytes.of(this.privateBits), Bytes.of(peerKey.publicBits)));
331
- }
328
+ ((Key2) => {
329
+ function sharedSecretFor(key, peerKey) {
330
+ return Bytes.of(getSharedSecret(Bytes.of(key.privateBits), Bytes.of(peerKey.publicBits)));
331
+ }
332
+ Key2.sharedSecretFor = sharedSecretFor;
333
+ })(Key || (Key = {}));
332
334
  export {
333
335
  CurveType,
334
336
  Key,
335
337
  KeyType,
336
338
  PrivateKey,
337
339
  PublicKey,
338
- SymmetricKey,
339
- sharedSecretFor
340
+ SymmetricKey
340
341
  };
341
342
  //# 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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",
5
- "names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases"]
4
+ "mappings": "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",
5
+ "names": ["KeyType", "CurveType", "Asn1ObjectID", "Translators", "publicBits", "Aliases", "Base64Codecs", "AssertedAliases", "Key"]
6
6
  }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes } from "#util/Bytes.js";
7
+ import { Identity } from "#util/Type.js";
8
+ import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
+ import { PrivateKey, PublicKey } from "./Key.js";
10
+ import type * as NodeJsCryptoApi from "node:crypto";
11
+ /**
12
+ * A crypto API implemented in the style of Node.js.
13
+ */
14
+ export interface NodeJsCryptoApiLike extends Identity<typeof NodeJsCryptoApi> {
15
+ }
16
+ /**
17
+ * A crypto implementation that uses the Node.js crypto API.
18
+ *
19
+ * It is Node.js "style" because there are many packages that emulate the Node.js API. As of now (mid-2025) these are
20
+ * sometimes more mature than the available Web Crypto implementation.
21
+ *
22
+ * This module does not import the Node.js crypto implementation directly. You must provide a crypto implementation to
23
+ * use it.
24
+ */
25
+ export declare class NodeJsStyleCrypto extends Crypto {
26
+ #private;
27
+ implementationName: string;
28
+ constructor(crypto: NodeJsCryptoApiLike);
29
+ encrypt(key: Bytes, data: Bytes, nonce: Bytes, aad?: Bytes): Bytes;
30
+ decrypt(key: Bytes, encrypted: Bytes, nonce: Bytes, aad?: Bytes): Bytes;
31
+ randomBytes(length: number): Bytes;
32
+ ecdhGeneratePublicKey(): {
33
+ publicKey: Bytes;
34
+ ecdh: any;
35
+ };
36
+ ecdhGeneratePublicKeyAndSecret(peerPublicKey: Bytes): {
37
+ publicKey: Bytes;
38
+ sharedSecret: Bytes;
39
+ };
40
+ computeSha256(data: Bytes | Bytes[]): Bytes;
41
+ createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<Bytes>;
42
+ createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
43
+ signHmac(key: Bytes, data: Bytes): Bytes;
44
+ signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Bytes;
45
+ verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): void;
46
+ createKeyPair(): PrivateKey;
47
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): Bytes;
48
+ }
49
+ //# sourceMappingURL=NodeJsStyleCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,MAAM,EAON,iBAAiB,EACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGjD,OAAO,KAAK,KAAK,eAAe,MAAM,aAAa,CAAC;AAKpD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,QAAQ,CAAC,OAAO,eAAe,CAAC;CAAG;AAEhF;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,MAAM;;IACzC,kBAAkB,SAAa;gBAInB,MAAM,EAAE,mBAAmB;IAMvC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAYlE,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAmBvE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK;IAIlC,qBAAqB,IAAI;QAAE,SAAS,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE;IAMxD,8BAA8B,CAAC,aAAa,EAAE,KAAK,GAAG;QAClD,SAAS,EAAE,KAAK,CAAC;QACjB,YAAY,EAAE,KAAK,CAAC;KACvB;IASD,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK;IAU3C,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAgBjG,aAAa,CACT,MAAM,EAAE,KAAK,EACb,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,KAAK,EACX,MAAM,GAAE,MAAoC,GAC7C,OAAO,CAAC,KAAK,CAAC;IAgBjB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK;IAMxC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE,WAAW,GAAE,iBAAgC,GAAG,KAAK;IAiB9G,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,GAAE,iBAAgC;IAe/G,aAAa;IAcb,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK;CAM/D"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Bytes } from "#util/Bytes.js";
7
+ import { asError } from "#util/Error.js";
8
+ import {
9
+ Crypto,
10
+ CRYPTO_AUTH_TAG_LENGTH,
11
+ CRYPTO_EC_CURVE,
12
+ CRYPTO_EC_KEY_BYTES,
13
+ CRYPTO_ENCRYPT_ALGORITHM,
14
+ CRYPTO_HASH_ALGORITHM,
15
+ CRYPTO_SYMMETRIC_KEY_LENGTH
16
+ } from "./Crypto.js";
17
+ import { CryptoDecryptError, CryptoVerifyError } from "./CryptoError.js";
18
+ import { PrivateKey } from "./Key.js";
19
+ class NodeJsStyleCrypto extends Crypto {
20
+ implementationName = "Node.js";
21
+ #crypto;
22
+ constructor(crypto) {
23
+ super();
24
+ this.#crypto = crypto;
25
+ }
26
+ encrypt(key, data, nonce, aad) {
27
+ const cipher = this.#crypto.createCipheriv(CRYPTO_ENCRYPT_ALGORITHM, Bytes.of(key), Bytes.of(nonce), {
28
+ authTagLength: CRYPTO_AUTH_TAG_LENGTH
29
+ });
30
+ if (aad !== void 0) {
31
+ cipher.setAAD(Bytes.of(aad), { plaintextLength: data.byteLength });
32
+ }
33
+ const encrypted = cipher.update(Bytes.of(data));
34
+ cipher.final();
35
+ return Bytes.concat(Bytes.of(encrypted), Bytes.of(cipher.getAuthTag()));
36
+ }
37
+ decrypt(key, encrypted, nonce, aad) {
38
+ const cipher = this.#crypto.createDecipheriv(CRYPTO_ENCRYPT_ALGORITHM, Bytes.of(key), Bytes.of(nonce), {
39
+ authTagLength: CRYPTO_AUTH_TAG_LENGTH
40
+ });
41
+ const data = Bytes.of(encrypted);
42
+ const plaintextLength = data.length - CRYPTO_AUTH_TAG_LENGTH;
43
+ if (aad !== void 0) {
44
+ cipher.setAAD(Bytes.of(aad), { plaintextLength });
45
+ }
46
+ cipher.setAuthTag(data.slice(plaintextLength));
47
+ const result = cipher.update(data.slice(0, plaintextLength));
48
+ try {
49
+ cipher.final();
50
+ } catch (e) {
51
+ throw new CryptoDecryptError(`${CRYPTO_ENCRYPT_ALGORITHM} decryption failed: ${asError(e).message}`);
52
+ }
53
+ return Bytes.of(result);
54
+ }
55
+ randomBytes(length) {
56
+ return Bytes.of(this.#crypto.randomBytes(length));
57
+ }
58
+ ecdhGeneratePublicKey() {
59
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
60
+ ecdh.generateKeys();
61
+ return { publicKey: Bytes.of(ecdh.getPublicKey()), ecdh };
62
+ }
63
+ ecdhGeneratePublicKeyAndSecret(peerPublicKey) {
64
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
65
+ ecdh.generateKeys();
66
+ return {
67
+ publicKey: Bytes.of(ecdh.getPublicKey()),
68
+ sharedSecret: Bytes.of(ecdh.computeSecret(Bytes.of(peerPublicKey)))
69
+ };
70
+ }
71
+ computeSha256(data) {
72
+ const hasher = this.#crypto.createHash(CRYPTO_HASH_ALGORITHM);
73
+ if (Array.isArray(data)) {
74
+ data.forEach((chunk) => hasher.update(Bytes.of(chunk)));
75
+ } else {
76
+ hasher.update(Bytes.of(data));
77
+ }
78
+ return Bytes.of(hasher.digest());
79
+ }
80
+ createPbkdf2Key(secret, salt, iteration, keyLength) {
81
+ return new Promise((resolver, rejecter) => {
82
+ this.#crypto.pbkdf2(
83
+ Bytes.of(secret),
84
+ Bytes.of(salt),
85
+ iteration,
86
+ keyLength,
87
+ CRYPTO_HASH_ALGORITHM,
88
+ (error, key) => {
89
+ if (error !== null) rejecter(error);
90
+ resolver(Bytes.of(key));
91
+ }
92
+ );
93
+ });
94
+ }
95
+ createHkdfKey(secret, salt, info, length = CRYPTO_SYMMETRIC_KEY_LENGTH) {
96
+ return new Promise((resolver, rejecter) => {
97
+ this.#crypto.hkdf(
98
+ CRYPTO_HASH_ALGORITHM,
99
+ Bytes.of(secret),
100
+ Bytes.of(salt),
101
+ Bytes.of(info),
102
+ length,
103
+ (error, key) => {
104
+ if (error !== null) rejecter(error);
105
+ resolver(Bytes.of(key));
106
+ }
107
+ );
108
+ });
109
+ }
110
+ signHmac(key, data) {
111
+ const hmac = this.#crypto.createHmac(CRYPTO_HASH_ALGORITHM, Bytes.of(key));
112
+ hmac.update(Bytes.of(data));
113
+ return Bytes.of(hmac.digest());
114
+ }
115
+ signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
116
+ const signer = this.#crypto.createSign(CRYPTO_HASH_ALGORITHM);
117
+ if (Array.isArray(data)) {
118
+ data.forEach((chunk) => signer.update(Bytes.of(chunk)));
119
+ } else {
120
+ signer.update(Bytes.of(data));
121
+ }
122
+ return Bytes.of(
123
+ signer.sign({
124
+ key: privateKey,
125
+ format: "jwk",
126
+ type: "pkcs8",
127
+ dsaEncoding
128
+ })
129
+ );
130
+ }
131
+ verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
132
+ const verifier = this.#crypto.createVerify(CRYPTO_HASH_ALGORITHM);
133
+ verifier.update(Bytes.of(data));
134
+ const success = verifier.verify(
135
+ {
136
+ key: publicKey,
137
+ format: "jwk",
138
+ type: "spki",
139
+ dsaEncoding
140
+ },
141
+ Bytes.of(signature)
142
+ );
143
+ if (!success) throw new CryptoVerifyError("Signature verification failed");
144
+ }
145
+ createKeyPair() {
146
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
147
+ ecdh.generateKeys();
148
+ const privateKey = new Uint8Array(CRYPTO_EC_KEY_BYTES);
149
+ const nodePrivateKey = ecdh.getPrivateKey();
150
+ privateKey.set(nodePrivateKey, CRYPTO_EC_KEY_BYTES - nodePrivateKey.length);
151
+ return PrivateKey(privateKey, { publicKey: Bytes.of(ecdh.getPublicKey()) });
152
+ }
153
+ generateDhSecret(key, peerKey) {
154
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
155
+ ecdh.setPrivateKey(Bytes.of(key.privateBits));
156
+ return Bytes.of(ecdh.computeSecret(Bytes.of(peerKey.publicBits)));
157
+ }
158
+ }
159
+ export {
160
+ NodeJsStyleCrypto
161
+ };
162
+ //# sourceMappingURL=NodeJsStyleCrypto.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/NodeJsStyleCrypto.ts"],
4
+ "mappings": "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",
5
+ "names": []
6
+ }
@@ -5,6 +5,7 @@
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { Bytes } from "#util/Bytes.js";
8
+ import { MaybePromise } from "#util/Promises.js";
8
9
  import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
10
  import { PrivateKey, PublicKey } from "./Key.js";
10
11
  import { WebCrypto } from "./WebCrypto.js";
@@ -29,7 +30,7 @@ export declare class StandardCrypto extends Crypto {
29
30
  computeSha256(buffer: Bytes | Bytes[]): Promise<ArrayBuffer>;
30
31
  createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<ArrayBuffer>;
31
32
  createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
32
- signHmac(secret: Bytes, data: Bytes): Promise<Bytes>;
33
+ signHmac(secret: Bytes, data: Bytes): MaybePromise<Bytes>;
33
34
  signEcdsa(key: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Promise<AllowSharedBufferSource>;
34
35
  verifyEcdsa(key: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
35
36
  createKeyPair(): Promise<PrivateKey>;
@@ -1 +1 @@
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"}
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;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,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;IAcjB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAMnD,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"}
@@ -99,9 +99,10 @@ class StandardCrypto extends Crypto {
99
99
  8 * length
100
100
  );
101
101
  }
102
- async signHmac(secret, data) {
103
- const key = await this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
104
- return this.#subtle.sign("HMAC", key, Bytes.exclusive(data));
102
+ signHmac(secret, data) {
103
+ return this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]).then(
104
+ (key) => this.#subtle.sign("HMAC", key, Bytes.exclusive(data))
105
+ );
105
106
  }
106
107
  async signEcdsa(key, data, dsaEncoding) {
107
108
  if (Array.isArray(data)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/StandardCrypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["name"]
6
6
  }
@@ -8,6 +8,7 @@ export * from "./CryptoConstants.js";
8
8
  export * from "./CryptoError.js";
9
9
  export * from "./Key.js";
10
10
  export * from "./MockCrypto.js";
11
+ export * from "./NodeJsStyleCrypto.js";
11
12
  export * from "./Spake2p.js";
12
13
  export * from "./StandardCrypto.js";
13
14
  export * from "./WebCrypto.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -8,6 +8,7 @@ export * from "./CryptoConstants.js";
8
8
  export * from "./CryptoError.js";
9
9
  export * from "./Key.js";
10
10
  export * from "./MockCrypto.js";
11
+ export * from "./NodeJsStyleCrypto.js";
11
12
  export * from "./Spake2p.js";
12
13
  export * from "./StandardCrypto.js";
13
14
  export * from "./WebCrypto.js";
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.16.0-alpha.0-20250821-dd03e1003",
3
+ "version": "0.16.0-alpha.0-20250826-531401faa",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^1.9.7"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.16.0-alpha.0-20250821-dd03e1003"
39
+ "@matter/testing": "0.16.0-alpha.0-20250826-531401faa"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
package/src/crypto/Key.ts CHANGED
@@ -211,7 +211,6 @@ export interface PrivateKey extends PublicKey {
211
211
  privateKey: Bytes;
212
212
  keyPair: BinaryKeyPair;
213
213
  keyPairBits: BinaryKeyPair;
214
- sharedSecretFor(peerKey: PublicKey): Bytes;
215
214
  }
216
215
 
217
216
  /**
@@ -579,7 +578,6 @@ export function PrivateKey(privateKey: Bytes | BinaryKeyPair, options?: Partial<
579
578
  privateKey: priv,
580
579
  publicKey: pub,
581
580
  ...options,
582
- sharedSecretFor,
583
581
  } as Key) as PrivateKey;
584
582
  }
585
583
 
@@ -605,11 +603,13 @@ export function SymmetricKey(privateKey: Bytes, options?: Partial<Key>) {
605
603
  });
606
604
  }
607
605
 
608
- /**
609
- * Diffie-Hellman shared secret computation.
610
- *
611
- * We provide this for platforms without a native implementation.
612
- */
613
- export function sharedSecretFor(this: PrivateKey, peerKey: PublicKey): Bytes {
614
- return Bytes.of(getSharedSecret(Bytes.of(this.privateBits), Bytes.of(peerKey.publicBits)));
606
+ export namespace Key {
607
+ /**
608
+ * Diffie-Hellman shared secret computation.
609
+ *
610
+ * We provide this for platforms without a native implementation.
611
+ */
612
+ export function sharedSecretFor(key: PrivateKey, peerKey: PublicKey): Bytes {
613
+ return Bytes.of(getSharedSecret(Bytes.of(key.privateBits), Bytes.of(peerKey.publicBits)));
614
+ }
615
615
  }
@@ -0,0 +1,212 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2022-2025 Matter.js Authors
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ import { Bytes } from "#util/Bytes.js";
8
+ import { asError } from "#util/Error.js";
9
+ import { Identity } from "#util/Type.js";
10
+ import {
11
+ Crypto,
12
+ CRYPTO_AUTH_TAG_LENGTH,
13
+ CRYPTO_EC_CURVE,
14
+ CRYPTO_EC_KEY_BYTES,
15
+ CRYPTO_ENCRYPT_ALGORITHM,
16
+ CRYPTO_HASH_ALGORITHM,
17
+ CRYPTO_SYMMETRIC_KEY_LENGTH,
18
+ CryptoDsaEncoding,
19
+ } from "./Crypto.js";
20
+ import { CryptoDecryptError, CryptoVerifyError } from "./CryptoError.js";
21
+ import { PrivateKey, PublicKey } from "./Key.js";
22
+
23
+ // Note that this is a type-only import, not a runtime dependency.
24
+ import type * as NodeJsCryptoApi from "node:crypto";
25
+
26
+ // Ensure we don't reference global crypto accidentally
27
+ declare const crypto: never;
28
+
29
+ /**
30
+ * A crypto API implemented in the style of Node.js.
31
+ */
32
+ export interface NodeJsCryptoApiLike extends Identity<typeof NodeJsCryptoApi> {}
33
+
34
+ /**
35
+ * A crypto implementation that uses the Node.js crypto API.
36
+ *
37
+ * It is Node.js "style" because there are many packages that emulate the Node.js API. As of now (mid-2025) these are
38
+ * sometimes more mature than the available Web Crypto implementation.
39
+ *
40
+ * This module does not import the Node.js crypto implementation directly. You must provide a crypto implementation to
41
+ * use it.
42
+ */
43
+ export class NodeJsStyleCrypto extends Crypto {
44
+ implementationName = "Node.js";
45
+
46
+ #crypto: NodeJsCryptoApiLike;
47
+
48
+ constructor(crypto: NodeJsCryptoApiLike) {
49
+ super();
50
+
51
+ this.#crypto = crypto;
52
+ }
53
+
54
+ encrypt(key: Bytes, data: Bytes, nonce: Bytes, aad?: Bytes): Bytes {
55
+ const cipher = this.#crypto.createCipheriv(CRYPTO_ENCRYPT_ALGORITHM, Bytes.of(key), Bytes.of(nonce), {
56
+ authTagLength: CRYPTO_AUTH_TAG_LENGTH,
57
+ });
58
+ if (aad !== undefined) {
59
+ cipher.setAAD(Bytes.of(aad), { plaintextLength: data.byteLength });
60
+ }
61
+ const encrypted = cipher.update(Bytes.of(data));
62
+ cipher.final();
63
+ return Bytes.concat(Bytes.of(encrypted), Bytes.of(cipher.getAuthTag()));
64
+ }
65
+
66
+ decrypt(key: Bytes, encrypted: Bytes, nonce: Bytes, aad?: Bytes): Bytes {
67
+ const cipher = this.#crypto.createDecipheriv(CRYPTO_ENCRYPT_ALGORITHM, Bytes.of(key), Bytes.of(nonce), {
68
+ authTagLength: CRYPTO_AUTH_TAG_LENGTH,
69
+ });
70
+ const data = Bytes.of(encrypted);
71
+ const plaintextLength = data.length - CRYPTO_AUTH_TAG_LENGTH;
72
+ if (aad !== undefined) {
73
+ cipher.setAAD(Bytes.of(aad), { plaintextLength });
74
+ }
75
+ cipher.setAuthTag(data.slice(plaintextLength));
76
+ const result = cipher.update(data.slice(0, plaintextLength));
77
+ try {
78
+ cipher.final();
79
+ } catch (e) {
80
+ throw new CryptoDecryptError(`${CRYPTO_ENCRYPT_ALGORITHM} decryption failed: ${asError(e).message}`);
81
+ }
82
+ return Bytes.of(result);
83
+ }
84
+
85
+ randomBytes(length: number): Bytes {
86
+ return Bytes.of(this.#crypto.randomBytes(length));
87
+ }
88
+
89
+ ecdhGeneratePublicKey(): { publicKey: Bytes; ecdh: any } {
90
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
91
+ ecdh.generateKeys();
92
+ return { publicKey: Bytes.of(ecdh.getPublicKey()), ecdh: ecdh };
93
+ }
94
+
95
+ ecdhGeneratePublicKeyAndSecret(peerPublicKey: Bytes): {
96
+ publicKey: Bytes;
97
+ sharedSecret: Bytes;
98
+ } {
99
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
100
+ ecdh.generateKeys();
101
+ return {
102
+ publicKey: Bytes.of(ecdh.getPublicKey()),
103
+ sharedSecret: Bytes.of(ecdh.computeSecret(Bytes.of(peerPublicKey))),
104
+ };
105
+ }
106
+
107
+ computeSha256(data: Bytes | Bytes[]): Bytes {
108
+ const hasher = this.#crypto.createHash(CRYPTO_HASH_ALGORITHM);
109
+ if (Array.isArray(data)) {
110
+ data.forEach(chunk => hasher.update(Bytes.of(chunk)));
111
+ } else {
112
+ hasher.update(Bytes.of(data));
113
+ }
114
+ return Bytes.of(hasher.digest());
115
+ }
116
+
117
+ createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<Bytes> {
118
+ return new Promise<Bytes>((resolver, rejecter) => {
119
+ this.#crypto.pbkdf2(
120
+ Bytes.of(secret),
121
+ Bytes.of(salt),
122
+ iteration,
123
+ keyLength,
124
+ CRYPTO_HASH_ALGORITHM,
125
+ (error, key) => {
126
+ if (error !== null) rejecter(error);
127
+ resolver(Bytes.of(key));
128
+ },
129
+ );
130
+ });
131
+ }
132
+
133
+ createHkdfKey(
134
+ secret: Bytes,
135
+ salt: Bytes,
136
+ info: Bytes,
137
+ length: number = CRYPTO_SYMMETRIC_KEY_LENGTH,
138
+ ): Promise<Bytes> {
139
+ return new Promise<Bytes>((resolver, rejecter) => {
140
+ this.#crypto.hkdf(
141
+ CRYPTO_HASH_ALGORITHM,
142
+ Bytes.of(secret),
143
+ Bytes.of(salt),
144
+ Bytes.of(info),
145
+ length,
146
+ (error, key) => {
147
+ if (error !== null) rejecter(error);
148
+ resolver(Bytes.of(key));
149
+ },
150
+ );
151
+ });
152
+ }
153
+
154
+ signHmac(key: Bytes, data: Bytes): Bytes {
155
+ const hmac = this.#crypto.createHmac(CRYPTO_HASH_ALGORITHM, Bytes.of(key));
156
+ hmac.update(Bytes.of(data));
157
+ return Bytes.of(hmac.digest());
158
+ }
159
+
160
+ signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[], dsaEncoding: CryptoDsaEncoding = "ieee-p1363"): Bytes {
161
+ const signer = this.#crypto.createSign(CRYPTO_HASH_ALGORITHM);
162
+ if (Array.isArray(data)) {
163
+ data.forEach(chunk => signer.update(Bytes.of(chunk)));
164
+ } else {
165
+ signer.update(Bytes.of(data));
166
+ }
167
+ return Bytes.of(
168
+ signer.sign({
169
+ key: privateKey as any,
170
+ format: "jwk",
171
+ type: "pkcs8",
172
+ dsaEncoding,
173
+ }),
174
+ );
175
+ }
176
+
177
+ verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding: CryptoDsaEncoding = "ieee-p1363") {
178
+ const verifier = this.#crypto.createVerify(CRYPTO_HASH_ALGORITHM);
179
+ verifier.update(Bytes.of(data));
180
+ const success = verifier.verify(
181
+ {
182
+ key: publicKey as any,
183
+ format: "jwk",
184
+ type: "spki",
185
+ dsaEncoding,
186
+ },
187
+ Bytes.of(signature),
188
+ );
189
+ if (!success) throw new CryptoVerifyError("Signature verification failed");
190
+ }
191
+
192
+ createKeyPair() {
193
+ // Note that we this key may be used for DH or DSA but we use an ECDH to generate
194
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
195
+ ecdh.generateKeys();
196
+
197
+ // The key exported from Node doesn't include most-significant bytes that are 0. This doesn't affect how we
198
+ // currently use keys but it's a little weird so 0 pad to avoid future confusion
199
+ const privateKey = new Uint8Array(CRYPTO_EC_KEY_BYTES);
200
+ const nodePrivateKey = ecdh.getPrivateKey();
201
+ privateKey.set(nodePrivateKey, CRYPTO_EC_KEY_BYTES - nodePrivateKey.length);
202
+
203
+ return PrivateKey(privateKey, { publicKey: Bytes.of(ecdh.getPublicKey()) });
204
+ }
205
+
206
+ generateDhSecret(key: PrivateKey, peerKey: PublicKey): Bytes {
207
+ const ecdh = this.#crypto.createECDH(CRYPTO_EC_CURVE);
208
+ ecdh.setPrivateKey(Bytes.of(key.privateBits));
209
+
210
+ return Bytes.of(ecdh.computeSecret(Bytes.of(peerKey.publicBits)));
211
+ }
212
+ }
@@ -9,6 +9,7 @@ import { DerBigUint, DerCodec, DerError } from "#codec/DerCodec.js";
9
9
  import { Environment } from "#environment/Environment.js";
10
10
  import { ImplementationError } from "#MatterError.js";
11
11
  import { Bytes } from "#util/Bytes.js";
12
+ import { MaybePromise } from "#util/Promises.js";
12
13
  import { describeList } from "#util/String.js";
13
14
  import { Ccm } from "./aes/Ccm.js";
14
15
  import { Crypto, CRYPTO_SYMMETRIC_KEY_LENGTH, CryptoDsaEncoding } from "./Crypto.js";
@@ -135,9 +136,10 @@ export class StandardCrypto extends Crypto {
135
136
  );
136
137
  }
137
138
 
138
- async signHmac(secret: Bytes, data: Bytes): Promise<Bytes> {
139
- const key = await this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
140
- return this.#subtle.sign("HMAC", key, Bytes.exclusive(data));
139
+ signHmac(secret: Bytes, data: Bytes): MaybePromise<Bytes> {
140
+ return this.importKey("raw", secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]).then(key =>
141
+ this.#subtle.sign("HMAC", key, Bytes.exclusive(data)),
142
+ );
141
143
  }
142
144
 
143
145
  async signEcdsa(key: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding) {
@@ -9,6 +9,7 @@ export * from "./CryptoConstants.js";
9
9
  export * from "./CryptoError.js";
10
10
  export * from "./Key.js";
11
11
  export * from "./MockCrypto.js";
12
+ export * from "./NodeJsStyleCrypto.js";
12
13
  export * from "./Spake2p.js";
13
14
  export * from "./StandardCrypto.js";
14
15
  export * from "./WebCrypto.js";