@matter/general 0.16.0-alpha.0-20251111-11cc8c3bd → 0.16.0-alpha.0-20251112-dba1973d5

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 (62) hide show
  1. package/dist/cjs/codec/DerCodec.d.ts +6 -1
  2. package/dist/cjs/codec/DerCodec.d.ts.map +1 -1
  3. package/dist/cjs/codec/DerCodec.js +13 -2
  4. package/dist/cjs/codec/DerCodec.js.map +1 -1
  5. package/dist/cjs/crypto/Crypto.d.ts +3 -3
  6. package/dist/cjs/crypto/Crypto.d.ts.map +1 -1
  7. package/dist/cjs/crypto/Crypto.js.map +1 -1
  8. package/dist/cjs/crypto/CryptoError.d.ts +5 -0
  9. package/dist/cjs/crypto/CryptoError.d.ts.map +1 -1
  10. package/dist/cjs/crypto/CryptoError.js +4 -1
  11. package/dist/cjs/crypto/CryptoError.js.map +1 -1
  12. package/dist/cjs/crypto/EcdsaSignature.d.ts +43 -0
  13. package/dist/cjs/crypto/EcdsaSignature.d.ts.map +1 -0
  14. package/dist/cjs/crypto/EcdsaSignature.js +74 -0
  15. package/dist/cjs/crypto/EcdsaSignature.js.map +6 -0
  16. package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts +4 -3
  17. package/dist/cjs/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
  18. package/dist/cjs/crypto/NodeJsStyleCrypto.js +14 -11
  19. package/dist/cjs/crypto/NodeJsStyleCrypto.js.map +1 -1
  20. package/dist/cjs/crypto/StandardCrypto.d.ts +4 -3
  21. package/dist/cjs/crypto/StandardCrypto.d.ts.map +1 -1
  22. package/dist/cjs/crypto/StandardCrypto.js +5 -21
  23. package/dist/cjs/crypto/StandardCrypto.js.map +1 -1
  24. package/dist/cjs/crypto/index.d.ts +1 -0
  25. package/dist/cjs/crypto/index.d.ts.map +1 -1
  26. package/dist/cjs/crypto/index.js +1 -0
  27. package/dist/cjs/crypto/index.js.map +1 -1
  28. package/dist/esm/codec/DerCodec.d.ts +6 -1
  29. package/dist/esm/codec/DerCodec.d.ts.map +1 -1
  30. package/dist/esm/codec/DerCodec.js +13 -2
  31. package/dist/esm/codec/DerCodec.js.map +1 -1
  32. package/dist/esm/crypto/Crypto.d.ts +3 -3
  33. package/dist/esm/crypto/Crypto.d.ts.map +1 -1
  34. package/dist/esm/crypto/Crypto.js.map +1 -1
  35. package/dist/esm/crypto/CryptoError.d.ts +5 -0
  36. package/dist/esm/crypto/CryptoError.d.ts.map +1 -1
  37. package/dist/esm/crypto/CryptoError.js +4 -1
  38. package/dist/esm/crypto/CryptoError.js.map +1 -1
  39. package/dist/esm/crypto/EcdsaSignature.d.ts +43 -0
  40. package/dist/esm/crypto/EcdsaSignature.d.ts.map +1 -0
  41. package/dist/esm/crypto/EcdsaSignature.js +54 -0
  42. package/dist/esm/crypto/EcdsaSignature.js.map +6 -0
  43. package/dist/esm/crypto/NodeJsStyleCrypto.d.ts +4 -3
  44. package/dist/esm/crypto/NodeJsStyleCrypto.d.ts.map +1 -1
  45. package/dist/esm/crypto/NodeJsStyleCrypto.js +14 -11
  46. package/dist/esm/crypto/NodeJsStyleCrypto.js.map +1 -1
  47. package/dist/esm/crypto/StandardCrypto.d.ts +4 -3
  48. package/dist/esm/crypto/StandardCrypto.d.ts.map +1 -1
  49. package/dist/esm/crypto/StandardCrypto.js +5 -21
  50. package/dist/esm/crypto/StandardCrypto.js.map +1 -1
  51. package/dist/esm/crypto/index.d.ts +1 -0
  52. package/dist/esm/crypto/index.d.ts.map +1 -1
  53. package/dist/esm/crypto/index.js +1 -0
  54. package/dist/esm/crypto/index.js.map +1 -1
  55. package/package.json +2 -2
  56. package/src/codec/DerCodec.ts +19 -3
  57. package/src/crypto/Crypto.ts +3 -12
  58. package/src/crypto/CryptoError.ts +5 -0
  59. package/src/crypto/EcdsaSignature.ts +83 -0
  60. package/src/crypto/NodeJsStyleCrypto.ts +14 -12
  61. package/src/crypto/StandardCrypto.ts +6 -28
  62. package/src/crypto/index.ts +1 -0
@@ -57,7 +57,12 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
57
57
  export declare const RawBytes: (bytes: Bytes) => {
58
58
  _bytes: AllowSharedBufferSource;
59
59
  };
60
- export declare const DerBigUint: (number: Bytes) => {
60
+ /**
61
+ * Optimized path for encoding raw bytes that represent an unsigned integer.
62
+ *
63
+ * This allows to avoid e.g. round tripping a 256-bit number through a bigint when encoding.
64
+ */
65
+ export declare const DerRawUint: (number: Bytes) => {
61
66
  _tag: DerType;
62
67
  _bytes: AllowSharedBufferSource;
63
68
  };
@@ -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;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,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,KAAK,EAAE,gBAAW;UACZ,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK;;;CAG5D,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK;;CAEnC,CAAC;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK;;;CAcvC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACtB,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,KAAK;IAqEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;IAInC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM;CA0KtE"}
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;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAKzC,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,KAAK,EAAE,gBAAW;UACZ,MAAM;;;CAG7C,CAAC;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,GAAG;;;CAGtD,CAAC;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,OAAO,KAAK;;;CAG5D,CAAC;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,OAAO,EAAE,OAAO,GAAG;;;CAGxD,CAAC;AACH,eAAO,MAAM,QAAQ,GAAI,OAAO,KAAK;;CAEnC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,QAAQ,KAAK;;;CAwBvC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IAClB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACtB,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,KAAK;IAqEpC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO;IAInC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM;CA0KtE"}
@@ -21,12 +21,12 @@ __export(DerCodec_exports, {
21
21
  ContextTagged: () => ContextTagged,
22
22
  ContextTaggedBytes: () => ContextTaggedBytes,
23
23
  DatatypeOverride: () => DatatypeOverride,
24
- DerBigUint: () => DerBigUint,
25
24
  DerBitString: () => DerBitString,
26
25
  DerCodec: () => DerCodec,
27
26
  DerError: () => DerError,
28
27
  DerKey: () => DerKey,
29
28
  DerObject: () => DerObject,
29
+ DerRawUint: () => DerRawUint,
30
30
  DerType: () => DerType,
31
31
  ObjectId: () => ObjectId,
32
32
  RawBytes: () => RawBytes
@@ -107,10 +107,21 @@ const DatatypeOverride = (type, value) => ({
107
107
  const RawBytes = (bytes) => ({
108
108
  ["_bytes" /* Bytes */]: bytes
109
109
  });
110
- const DerBigUint = (number) => {
110
+ const DerRawUint = (number) => {
111
111
  const numberData = import_Bytes.Bytes.of(number);
112
112
  if (numberData[0] & 128) {
113
113
  number = import_Bytes.Bytes.concat(new Uint8Array([0]), numberData);
114
+ } else {
115
+ let firstByte = 0;
116
+ while (firstByte < numberData.length - 1) {
117
+ if (numberData[firstByte] || numberData[firstByte + 1] & 128) {
118
+ break;
119
+ }
120
+ firstByte++;
121
+ }
122
+ if (firstByte) {
123
+ number = numberData.slice(firstByte);
124
+ }
114
125
  }
115
126
  return {
116
127
  ["_tag" /* TagId */]: 2 /* Integer */,
@@ -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
  }
@@ -8,6 +8,7 @@ import { MaybePromise } from "#util/Promises.js";
8
8
  import * as mod from "@noble/curves/abstract/modular.js";
9
9
  import * as utils from "@noble/curves/utils.js";
10
10
  import { Entropy } from "../util/Entropy.js";
11
+ import { EcdsaSignature } from "./EcdsaSignature.js";
11
12
  import type { PrivateKey, PublicKey } from "./Key.js";
12
13
  export declare const ec: {
13
14
  mod(a: bigint, b: bigint): bigint;
@@ -73,7 +74,6 @@ export declare const CRYPTO_EC_CURVE = "prime256v1";
73
74
  export declare const CRYPTO_EC_KEY_BYTES = 32;
74
75
  export declare const CRYPTO_AUTH_TAG_LENGTH = 16;
75
76
  export declare const CRYPTO_SYMMETRIC_KEY_LENGTH = 16;
76
- export type CryptoDsaEncoding = "ieee-p1363" | "der";
77
77
  /**
78
78
  * These are the cryptographic primitives required to implement the Matter protocol.
79
79
  *
@@ -117,11 +117,11 @@ export declare abstract class Crypto extends Entropy {
117
117
  /**
118
118
  * Create an ECDSA signature.
119
119
  */
120
- abstract signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): MaybePromise<Bytes>;
120
+ abstract signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]): MaybePromise<EcdsaSignature>;
121
121
  /**
122
122
  * Authenticate an ECDSA signature.
123
123
  */
124
- abstract verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): MaybePromise<void>;
124
+ abstract verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: EcdsaSignature): MaybePromise<void>;
125
125
  /**
126
126
  * Create a general-purpose EC key.
127
127
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEA+F+D,GAAI,yBAC1E,GAAF;;;;;;;;;;;CA5FL,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,KAAK,CAAC;AAIrD;;;;;;;;;;GAUG;AACH,8BAAsB,MAAO,SAAQ,OAAO;IACxC;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,aAAa,CAClB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/G;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAErG;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,SAAS,CACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,EACrB,WAAW,CAAC,EAAE,iBAAiB,GAChC,YAAY,CAAC,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,WAAW,CAChB,SAAS,EAAE,UAAU,EACrB,IAAI,EAAE,KAAK,EACX,SAAS,EAAE,KAAK,EAChB,WAAW,CAAC,EAAE,iBAAiB,GAChC,YAAY,CAAC,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IAEnF,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM;CAOjC"}
1
+ {"version":3,"file":"Crypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/Crypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,GAAG,MAAM,mCAAmC,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEtD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gEAyFF,GAAI,yBAGjB,GAAG;;;;;;;;;;;CAxFF,CAAC;AAEF,eAAO,MAAM,wBAAwB,gBAAgB,CAAC;AACtD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAC9C,eAAO,MAAM,eAAe,eAAe,CAAC;AAC5C,eAAO,MAAM,mBAAmB,KAAK,CAAC;AACtC,eAAO,MAAM,sBAAsB,KAAK,CAAC;AACzC,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAI9C;;;;;;;;;;GAUG;AACH,8BAAsB,MAAO,SAAQ,OAAO;IACxC;;OAEG;IACH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK;IAE3E;;OAEG;IACH,QAAQ,CAAC,aAAa,CAClB,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/G;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAErG;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IAE/D;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,YAAY,CAAC,cAAc,CAAC;IAE/F;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,GAAG,YAAY,CAAC,IAAI,CAAC;IAEvG;;OAEG;IACH,QAAQ,CAAC,aAAa,IAAI,YAAY,CAAC,UAAU,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IAEnF,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM;CAOjC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/Crypto.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAA2B;AAC3B,oBAAuB;AAGvB,UAAqB;AACrB,kBAAqB;AACrB,YAAuB;AACvB,qBAAwB;AAdxB;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,KAAK;AAAA,EACd;AAAA,EACA,GAAG;AAAA,EACH,GAAG;AACP;AAEO,MAAM,2BAA2B;AACjC,MAAM,wBAAwB;AAC9B,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAC/B,MAAM,8BAA8B;AAG3C,MAAM,SAAS,qBAAO,IAAI,QAAQ;AAa3B,MAAe,eAAe,uBAAQ;AAAA,EAmEzC,YAAY,WAAoB;AAC5B,UAAM,UAAU,CAAC,SAAS,6BAAW,OAAO,KAAK,kBAAkB,GAAG,uBAAuB;AAC7F,QAAI,WAAW;AACX,cAAQ,KAAK,OAAO,SAAS;AAAA,IACjC;AACA,WAAO,MAAM,GAAG,OAAO;AAAA,EAC3B;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,wBAA2B;AAC3B,oBAAuB;AAGvB,UAAqB;AACrB,kBAAqB;AACrB,YAAuB;AACvB,qBAAwB;AAdxB;AAAA;AAAA;AAAA;AAAA;AAkBO,MAAM,KAAK;AAAA,EACd;AAAA,EACA,GAAG;AAAA,EACH,GAAG;AACP;AAEO,MAAM,2BAA2B;AACjC,MAAM,wBAAwB;AAC9B,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAC5B,MAAM,yBAAyB;AAC/B,MAAM,8BAA8B;AAE3C,MAAM,SAAS,qBAAO,IAAI,QAAQ;AAa3B,MAAe,eAAe,uBAAQ;AAAA,EA0DzC,YAAY,WAAoB;AAC5B,UAAM,UAAU,CAAC,SAAS,6BAAW,OAAO,KAAK,kBAAkB,GAAG,uBAAuB;AAC7F,QAAI,WAAW;AACX,cAAQ,KAAK,OAAO,SAAS;AAAA,IACjC;AACA,WAAO,MAAM,GAAG,OAAO;AAAA,EAC3B;AACJ;",
5
5
  "names": []
6
6
  }
@@ -29,4 +29,9 @@ export declare class CryptoDecryptError extends CryptoError {
29
29
  */
30
30
  export declare class KeyInputError extends CryptoInputError {
31
31
  }
32
+ /**
33
+ * Thrown when verification fails because of an invalid signature format.
34
+ */
35
+ export declare class SignatureEncodingError extends CryptoVerifyError {
36
+ }
32
37
  //# sourceMappingURL=CryptoError.d.ts.map
@@ -1 +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"}
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;AAEtD;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;CAAG"}
@@ -22,7 +22,8 @@ __export(CryptoError_exports, {
22
22
  CryptoError: () => CryptoError,
23
23
  CryptoInputError: () => CryptoInputError,
24
24
  CryptoVerifyError: () => CryptoVerifyError,
25
- KeyInputError: () => KeyInputError
25
+ KeyInputError: () => KeyInputError,
26
+ SignatureEncodingError: () => SignatureEncodingError
26
27
  });
27
28
  module.exports = __toCommonJS(CryptoError_exports);
28
29
  var import_MatterError = require("#MatterError.js");
@@ -41,4 +42,6 @@ class CryptoDecryptError extends CryptoError {
41
42
  }
42
43
  class KeyInputError extends CryptoInputError {
43
44
  }
45
+ class SignatureEncodingError extends CryptoVerifyError {
46
+ }
44
47
  //# sourceMappingURL=CryptoError.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
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;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;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;AAK9C,MAAM,+BAA+B,kBAAkB;AAAC;",
5
5
  "names": []
6
6
  }
@@ -0,0 +1,43 @@
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
+ /**
8
+ * An ECDSA signature.
9
+ *
10
+ * Input and output may be IEEE-P1363 or DER encoded. Matter helpfully mixes and matches so we validate input to ensure
11
+ * the correct encoding is specified. Extraction to bytes must explicitly use {@link bytes} or {@link der} to specify
12
+ * the desired format.
13
+ *
14
+ * Currently we only support 256-bit curves.
15
+ */
16
+ export declare class EcdsaSignature {
17
+ #private;
18
+ constructor(bytes: Bytes, encoding?: string);
19
+ /**
20
+ * Access signature in IEEE P1363 format.
21
+ */
22
+ get bytes(): AllowSharedBufferSource;
23
+ /**
24
+ * Access signature in DER format.
25
+ */
26
+ get der(): AllowSharedBufferSource;
27
+ }
28
+ export declare namespace EcdsaSignature {
29
+ /**
30
+ * IEEE P1363 encoding.
31
+ *
32
+ * This is a simple concatenation of the raw R and S elements
33
+ */
34
+ const IEEE_P1363 = "ieee-p1363";
35
+ /**
36
+ * DER encoding.
37
+ *
38
+ * This encodes R and S elements in a sequence of separate integers.
39
+ */
40
+ const DER = "der";
41
+ type Encoding = typeof IEEE_P1363 | typeof DER;
42
+ }
43
+ //# sourceMappingURL=EcdsaSignature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EcdsaSignature.d.ts","sourceRoot":"","sources":["../../../src/crypto/EcdsaSignature.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC;;;;;;;;GAQG;AACH,qBAAa,cAAc;;gBAGX,KAAK,EAAE,KAAK,EAAE,QAAQ,SAAe;IAuBjD;;OAEG;IACH,IAAI,KAAK,4BAER;IAED;;OAEG;IACH,IAAI,GAAG,4BAQN;CACJ;AAED,yBAAiB,cAAc,CAAC;IAC5B;;;;OAIG;IACI,MAAM,UAAU,eAAe,CAAC;IAEvC;;;;OAIG;IACI,MAAM,GAAG,QAAQ,CAAC;IAEzB,KAAY,QAAQ,GAAG,OAAO,UAAU,GAAG,OAAO,GAAG,CAAC;CACzD"}
@@ -0,0 +1,74 @@
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 EcdsaSignature_exports = {};
20
+ __export(EcdsaSignature_exports, {
21
+ EcdsaSignature: () => EcdsaSignature
22
+ });
23
+ module.exports = __toCommonJS(EcdsaSignature_exports);
24
+ var import_DerCodec = require("#codec/DerCodec.js");
25
+ var import_Bytes = require("#util/Bytes.js");
26
+ var import_CryptoError = require("./CryptoError.js");
27
+ /**
28
+ * @license
29
+ * Copyright 2022-2025 Matter.js Authors
30
+ * SPDX-License-Identifier: Apache-2.0
31
+ */
32
+ class EcdsaSignature {
33
+ #bytes;
34
+ constructor(bytes, encoding = "ieee-p1363") {
35
+ if (encoding === "der") {
36
+ try {
37
+ const decoded = import_DerCodec.DerCodec.decode(bytes);
38
+ const r = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[0], 32);
39
+ const s = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[1], 32);
40
+ this.#bytes = import_Bytes.Bytes.concat(r, s);
41
+ } catch (cause) {
42
+ import_DerCodec.DerError.accept(cause);
43
+ throw new import_CryptoError.SignatureEncodingError("Could not decode DER signature", { cause });
44
+ }
45
+ } else {
46
+ if (bytes.byteLength !== 64) {
47
+ throw new import_CryptoError.SignatureEncodingError("Invalid IEEE P1364 signature length");
48
+ }
49
+ this.#bytes = bytes;
50
+ }
51
+ }
52
+ /**
53
+ * Access signature in IEEE P1363 format.
54
+ */
55
+ get bytes() {
56
+ return this.#bytes;
57
+ }
58
+ /**
59
+ * Access signature in DER format.
60
+ */
61
+ get der() {
62
+ const bytes = import_Bytes.Bytes.of(this.#bytes);
63
+ const bytesPerComponent = bytes.length / 2;
64
+ return import_DerCodec.DerCodec.encode({
65
+ r: (0, import_DerCodec.DerRawUint)(bytes.slice(0, bytesPerComponent)),
66
+ s: (0, import_DerCodec.DerRawUint)(bytes.slice(bytesPerComponent))
67
+ });
68
+ }
69
+ }
70
+ ((EcdsaSignature2) => {
71
+ EcdsaSignature2.IEEE_P1363 = "ieee-p1363";
72
+ EcdsaSignature2.DER = "der";
73
+ })(EcdsaSignature || (EcdsaSignature = {}));
74
+ //# sourceMappingURL=EcdsaSignature.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/crypto/EcdsaSignature.ts"],
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAA+C;AAC/C,mBAAsB;AACtB,yBAAuC;AARvC;AAAA;AAAA;AAAA;AAAA;AAmBO,MAAM,eAAe;AAAA,EACxB;AAAA,EAEA,YAAY,OAAc,WAAW,cAAc;AAC/C,QAAI,aAAa,OAAO;AACpB,UAAI;AACA,cAAM,UAAU,yBAAS,OAAO,KAAK;AAErC,cAAM,IAAI,yBAAS,cAAc,SAAS,YAAY,CAAC,GAAG,EAAE;AAC5D,cAAM,IAAI,yBAAS,cAAc,SAAS,YAAY,CAAC,GAAG,EAAE;AAE5D,aAAK,SAAS,mBAAM,OAAO,GAAG,CAAC;AAAA,MACnC,SAAS,OAAO;AACZ,iCAAS,OAAO,KAAK;AAErB,cAAM,IAAI,0CAAuB,kCAAkC,EAAE,MAAM,CAAC;AAAA,MAChF;AAAA,IACJ,OAAO;AAEH,UAAI,MAAM,eAAe,IAAI;AACzB,cAAM,IAAI,0CAAuB,qCAAqC;AAAA,MAC1E;AACA,WAAK,SAAS;AAAA,IAClB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAM;AACN,UAAM,QAAQ,mBAAM,GAAG,KAAK,MAAM;AAClC,UAAM,oBAAoB,MAAM,SAAS;AAEzC,WAAO,yBAAS,OAAO;AAAA,MACnB,OAAG,4BAAW,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAAA,MAC/C,OAAG,4BAAW,MAAM,MAAM,iBAAiB,CAAC;AAAA,IAChD,CAAC;AAAA,EACL;AACJ;AAAA,CAEO,CAAUA,oBAAV;AAMI,EAAMA,gBAAA,aAAa;AAOnB,EAAMA,gBAAA,MAAM;AAAA,GAbN;",
5
+ "names": ["EcdsaSignature"]
6
+ }
@@ -6,7 +6,8 @@
6
6
  import { Bytes } from "#util/Bytes.js";
7
7
  import { MaybePromise } from "#util/Promises.js";
8
8
  import { Identity } from "#util/Type.js";
9
- import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
+ import { Crypto } from "./Crypto.js";
10
+ import { EcdsaSignature } from "./EcdsaSignature.js";
10
11
  import { PrivateKey, PublicKey } from "./Key.js";
11
12
  import type * as NodeJsCryptoApi from "node:crypto";
12
13
  /**
@@ -42,8 +43,8 @@ export declare class NodeJsStyleCrypto extends Crypto {
42
43
  createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<Bytes>;
43
44
  createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
44
45
  signHmac(key: Bytes, data: Bytes): Bytes;
45
- signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Bytes;
46
- verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): void;
46
+ signEcdsa(privateKey: JsonWebKey, data: Bytes | Bytes[]): EcdsaSignature;
47
+ verifyEcdsa(publicKey: JsonWebKey, data: Bytes, signature: EcdsaSignature): void;
47
48
  createKeyPair(): PrivateKey;
48
49
  generateDhSecret(key: PrivateKey, peerKey: PublicKey): Bytes;
49
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,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;IAiBD,aAAa,CACT,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAoBtB,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"}
1
+ {"version":3,"file":"NodeJsStyleCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/NodeJsStyleCrypto.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACH,MAAM,EAOT,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,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;IAiBD,aAAa,CACT,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAClF,YAAY,CAAC,KAAK,CAAC;IAoBtB,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;IAmBvD,WAAW,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc;IAezE,aAAa;IAcb,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,GAAG,KAAK;CAM/D"}
@@ -26,6 +26,7 @@ var import_Bytes = require("#util/Bytes.js");
26
26
  var import_Error = require("#util/Error.js");
27
27
  var import_Crypto = require("./Crypto.js");
28
28
  var import_CryptoError = require("./CryptoError.js");
29
+ var import_EcdsaSignature = require("./EcdsaSignature.js");
29
30
  var import_Key = require("./Key.js");
30
31
  /**
31
32
  * @license
@@ -145,23 +146,25 @@ class NodeJsStyleCrypto extends import_Crypto.Crypto {
145
146
  hmac.update(import_Bytes.Bytes.of(data));
146
147
  return import_Bytes.Bytes.of(hmac.digest());
147
148
  }
148
- signEcdsa(privateKey, data, dsaEncoding = "ieee-p1363") {
149
+ signEcdsa(privateKey, data) {
149
150
  const signer = this.#crypto.createSign(import_Crypto.CRYPTO_HASH_ALGORITHM);
150
151
  if (Array.isArray(data)) {
151
152
  data.forEach((chunk) => signer.update(import_Bytes.Bytes.of(chunk)));
152
153
  } else {
153
154
  signer.update(import_Bytes.Bytes.of(data));
154
155
  }
155
- return import_Bytes.Bytes.of(
156
- signer.sign({
157
- key: privateKey,
158
- format: "jwk",
159
- type: "pkcs8",
160
- dsaEncoding
161
- })
156
+ return new import_EcdsaSignature.EcdsaSignature(
157
+ import_Bytes.Bytes.of(
158
+ signer.sign({
159
+ key: privateKey,
160
+ format: "jwk",
161
+ type: "pkcs8",
162
+ dsaEncoding: "ieee-p1363"
163
+ })
164
+ )
162
165
  );
163
166
  }
164
- verifyEcdsa(publicKey, data, signature, dsaEncoding = "ieee-p1363") {
167
+ verifyEcdsa(publicKey, data, signature) {
165
168
  const verifier = this.#crypto.createVerify(import_Crypto.CRYPTO_HASH_ALGORITHM);
166
169
  verifier.update(import_Bytes.Bytes.of(data));
167
170
  const success = verifier.verify(
@@ -169,9 +172,9 @@ class NodeJsStyleCrypto extends import_Crypto.Crypto {
169
172
  key: publicKey,
170
173
  format: "jwk",
171
174
  type: "spki",
172
- dsaEncoding
175
+ dsaEncoding: "ieee-p1363"
173
176
  },
174
- import_Bytes.Bytes.of(signature)
177
+ import_Bytes.Bytes.of(signature.bytes)
175
178
  );
176
179
  if (!success) throw new import_CryptoError.CryptoVerifyError("Signature verification failed");
177
180
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/crypto/NodeJsStyleCrypto.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -6,7 +6,8 @@
6
6
  */
7
7
  import { Bytes } from "#util/Bytes.js";
8
8
  import { MaybePromise } from "#util/Promises.js";
9
- import { Crypto, CryptoDsaEncoding } from "./Crypto.js";
9
+ import { Crypto } from "./Crypto.js";
10
+ import { EcdsaSignature } from "./EcdsaSignature.js";
10
11
  import { PrivateKey, PublicKey } from "./Key.js";
11
12
  import { WebCrypto } from "./WebCrypto.js";
12
13
  /**
@@ -31,8 +32,8 @@ export declare class StandardCrypto extends Crypto {
31
32
  createPbkdf2Key(secret: Bytes, salt: Bytes, iteration: number, keyLength: number): Promise<ArrayBuffer>;
32
33
  createHkdfKey(secret: Bytes, salt: Bytes, info: Bytes, length?: number): Promise<Bytes>;
33
34
  signHmac(secret: Bytes, data: Bytes): MaybePromise<Bytes>;
34
- signEcdsa(key: JsonWebKey, data: Bytes | Bytes[], dsaEncoding?: CryptoDsaEncoding): Promise<AllowSharedBufferSource>;
35
- verifyEcdsa(key: JsonWebKey, data: Bytes, signature: Bytes, dsaEncoding?: CryptoDsaEncoding): Promise<void>;
35
+ signEcdsa(key: JsonWebKey, data: Bytes | Bytes[]): Promise<EcdsaSignature>;
36
+ verifyEcdsa(key: JsonWebKey, data: Bytes, signature: EcdsaSignature): Promise<void>;
36
37
  createKeyPair(): Promise<PrivateKey>;
37
38
  protected generateJwk(): Promise<JsonWebKey>;
38
39
  generateDhSecret(key: PrivateKey, peerKey: PublicKey): Promise<Bytes>;
@@ -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;AAEvC,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,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;IAU3F,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"}
1
+ {"version":3,"file":"StandardCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/StandardCrypto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EAAE,MAAM,EAA+B,MAAM,aAAa,CAAC;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,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,GAAG,2BAA2B,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC;IAU3F,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;IAwBhD,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc;IAiBnE,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"}
@@ -21,7 +21,6 @@ __export(StandardCrypto_exports, {
21
21
  StandardCrypto: () => StandardCrypto
22
22
  });
23
23
  module.exports = __toCommonJS(StandardCrypto_exports);
24
- var import_DerCodec = require("#codec/DerCodec.js");
25
24
  var import_Environment = require("#environment/Environment.js");
26
25
  var import_MatterError = require("#MatterError.js");
27
26
  var import_Bytes = require("#util/Bytes.js");
@@ -30,6 +29,7 @@ var import_String = require("#util/String.js");
30
29
  var import_Ccm = require("./aes/Ccm.js");
31
30
  var import_Crypto = require("./Crypto.js");
32
31
  var import_CryptoError = require("./CryptoError.js");
32
+ var import_EcdsaSignature = require("./EcdsaSignature.js");
33
33
  var import_Key = require("./Key.js");
34
34
  /**
35
35
  * @license
@@ -131,7 +131,7 @@ class StandardCrypto extends import_Crypto.Crypto {
131
131
  (key) => this.#subtle.sign("HMAC", key, import_Bytes.Bytes.exclusive(data))
132
132
  );
133
133
  }
134
- async signEcdsa(key, data, dsaEncoding) {
134
+ async signEcdsa(key, data) {
135
135
  if (Array.isArray(data)) {
136
136
  data = import_Bytes.Bytes.concat(...data);
137
137
  }
@@ -148,32 +148,16 @@ class StandardCrypto extends import_Crypto.Crypto {
148
148
  };
149
149
  const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["sign"]);
150
150
  const ieeeP1363 = import_Bytes.Bytes.of(await this.#subtle.sign(SIGNATURE_ALGORITHM, subtleKey, import_Bytes.Bytes.exclusive(data)));
151
- if (dsaEncoding !== "der") return ieeeP1363;
152
- const bytesPerComponent = ieeeP1363.byteLength / 2;
153
- return import_DerCodec.DerCodec.encode({
154
- r: (0, import_DerCodec.DerBigUint)(ieeeP1363.slice(0, bytesPerComponent)),
155
- s: (0, import_DerCodec.DerBigUint)(ieeeP1363.slice(bytesPerComponent))
156
- });
151
+ return new import_EcdsaSignature.EcdsaSignature(ieeeP1363);
157
152
  }
158
- async verifyEcdsa(key, data, signature, dsaEncoding) {
153
+ async verifyEcdsa(key, data, signature) {
159
154
  const { crv, kty, x, y } = key;
160
155
  key = { crv, kty, x, y };
161
156
  const subtleKey = await this.importKey("jwk", key, SIGNATURE_ALGORITHM, false, ["verify"]);
162
- if (dsaEncoding === "der") {
163
- try {
164
- const decoded = import_DerCodec.DerCodec.decode(signature);
165
- const r = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[0], 32);
166
- const s = import_DerCodec.DerCodec.decodeBigUint(decoded?._elements?.[1], 32);
167
- signature = import_Bytes.Bytes.concat(r, s);
168
- } catch (cause) {
169
- import_DerCodec.DerError.accept(cause);
170
- throw new import_CryptoError.CryptoVerifyError("Invalid DER signature", { cause });
171
- }
172
- }
173
157
  const verified = await this.#subtle.verify(
174
158
  SIGNATURE_ALGORITHM,
175
159
  subtleKey,
176
- import_Bytes.Bytes.exclusive(signature),
160
+ import_Bytes.Bytes.exclusive(signature.bytes),
177
161
  import_Bytes.Bytes.exclusive(data)
178
162
  );
179
163
  if (!verified) {
@@ -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
  }
@@ -6,6 +6,7 @@
6
6
  export * from "./Crypto.js";
7
7
  export * from "./CryptoConstants.js";
8
8
  export * from "./CryptoError.js";
9
+ export * from "./EcdsaSignature.js";
9
10
  export * from "./Key.js";
10
11
  export * from "./MockCrypto.js";
11
12
  export * from "./NodeJsStyleCrypto.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,wBAAwB,CAAC;AACvC,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,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
@@ -18,6 +18,7 @@ module.exports = __toCommonJS(crypto_exports);
18
18
  __reExport(crypto_exports, require("./Crypto.js"), module.exports);
19
19
  __reExport(crypto_exports, require("./CryptoConstants.js"), module.exports);
20
20
  __reExport(crypto_exports, require("./CryptoError.js"), module.exports);
21
+ __reExport(crypto_exports, require("./EcdsaSignature.js"), module.exports);
21
22
  __reExport(crypto_exports, require("./Key.js"), module.exports);
22
23
  __reExport(crypto_exports, require("./MockCrypto.js"), module.exports);
23
24
  __reExport(crypto_exports, require("./NodeJsStyleCrypto.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,mCAXd;AAYA,2BAAc,yBAZd;AAaA,2BAAc,gCAbd;AAcA,2BAAc,2BAdd;AAAA;AAAA;AAAA;AAAA;AAAA;",
4
+ "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,2BAAc,wBANd;AAOA,2BAAc,iCAPd;AAQA,2BAAc,6BARd;AASA,2BAAc,gCATd;AAUA,2BAAc,qBAVd;AAWA,2BAAc,4BAXd;AAYA,2BAAc,mCAZd;AAaA,2BAAc,yBAbd;AAcA,2BAAc,gCAdd;AAeA,2BAAc,2BAfd;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
5
  "names": []
6
6
  }
@@ -57,7 +57,12 @@ export declare const DatatypeOverride: (type: DerType, value: any) => {
57
57
  export declare const RawBytes: (bytes: Bytes) => {
58
58
  _bytes: AllowSharedBufferSource;
59
59
  };
60
- export declare const DerBigUint: (number: Bytes) => {
60
+ /**
61
+ * Optimized path for encoding raw bytes that represent an unsigned integer.
62
+ *
63
+ * This allows to avoid e.g. round tripping a 256-bit number through a bigint when encoding.
64
+ */
65
+ export declare const DerRawUint: (number: Bytes) => {
61
66
  _tag: DerType;
62
67
  _bytes: AllowSharedBufferSource;
63
68
  };