@matter/protocol 0.16.0-alpha.0-20251106-4e10fd77b → 0.16.0-alpha.0-20251107-6bcb5baf4

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 (83) hide show
  1. package/dist/cjs/advertisement/PairingHintBitmap.d.ts +2 -2
  2. package/dist/cjs/advertisement/PairingHintBitmap.js +1 -1
  3. package/dist/cjs/advertisement/PairingHintBitmap.js.map +1 -1
  4. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -1
  5. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js +22 -4
  6. package/dist/cjs/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +1 -1
  7. package/dist/cjs/certificate/kinds/Icac.d.ts +2 -0
  8. package/dist/cjs/certificate/kinds/Icac.d.ts.map +1 -1
  9. package/dist/cjs/certificate/kinds/Icac.js +6 -0
  10. package/dist/cjs/certificate/kinds/Icac.js.map +1 -1
  11. package/dist/cjs/certificate/kinds/Noc.d.ts +2 -0
  12. package/dist/cjs/certificate/kinds/Noc.d.ts.map +1 -1
  13. package/dist/cjs/certificate/kinds/Noc.js +6 -0
  14. package/dist/cjs/certificate/kinds/Noc.js.map +1 -1
  15. package/dist/cjs/certificate/kinds/OperationalBase.d.ts +6 -1
  16. package/dist/cjs/certificate/kinds/OperationalBase.d.ts.map +1 -1
  17. package/dist/cjs/certificate/kinds/OperationalBase.js +14 -0
  18. package/dist/cjs/certificate/kinds/OperationalBase.js.map +1 -1
  19. package/dist/cjs/certificate/kinds/Rcac.d.ts +2 -0
  20. package/dist/cjs/certificate/kinds/Rcac.d.ts.map +1 -1
  21. package/dist/cjs/certificate/kinds/Rcac.js +6 -0
  22. package/dist/cjs/certificate/kinds/Rcac.js.map +1 -1
  23. package/dist/cjs/certificate/kinds/X509Base.d.ts +10 -3
  24. package/dist/cjs/certificate/kinds/X509Base.d.ts.map +1 -1
  25. package/dist/cjs/certificate/kinds/X509Base.js +301 -13
  26. package/dist/cjs/certificate/kinds/X509Base.js.map +2 -2
  27. package/dist/cjs/certificate/kinds/definitions/asn.d.ts +13 -0
  28. package/dist/cjs/certificate/kinds/definitions/asn.d.ts.map +1 -1
  29. package/dist/cjs/certificate/kinds/definitions/asn.js +32 -22
  30. package/dist/cjs/certificate/kinds/definitions/asn.js.map +2 -2
  31. package/dist/cjs/certificate/kinds/definitions/operational.d.ts +16 -16
  32. package/dist/cjs/certificate/kinds/definitions/operational.js +2 -2
  33. package/dist/cjs/certificate/kinds/definitions/operational.js.map +1 -1
  34. package/dist/cjs/mdns/MdnsConsts.d.ts +1 -1
  35. package/dist/cjs/mdns/MdnsConsts.d.ts.map +1 -1
  36. package/dist/cjs/mdns/MdnsConsts.js +1 -1
  37. package/dist/esm/advertisement/PairingHintBitmap.d.ts +2 -2
  38. package/dist/esm/advertisement/PairingHintBitmap.js +1 -1
  39. package/dist/esm/advertisement/PairingHintBitmap.js.map +1 -1
  40. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.d.ts.map +1 -1
  41. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js +22 -4
  42. package/dist/esm/advertisement/mdns/CommissionableMdnsAdvertisement.js.map +1 -1
  43. package/dist/esm/certificate/kinds/Icac.d.ts +2 -0
  44. package/dist/esm/certificate/kinds/Icac.d.ts.map +1 -1
  45. package/dist/esm/certificate/kinds/Icac.js +6 -0
  46. package/dist/esm/certificate/kinds/Icac.js.map +1 -1
  47. package/dist/esm/certificate/kinds/Noc.d.ts +2 -0
  48. package/dist/esm/certificate/kinds/Noc.d.ts.map +1 -1
  49. package/dist/esm/certificate/kinds/Noc.js +6 -0
  50. package/dist/esm/certificate/kinds/Noc.js.map +1 -1
  51. package/dist/esm/certificate/kinds/OperationalBase.d.ts +6 -1
  52. package/dist/esm/certificate/kinds/OperationalBase.d.ts.map +1 -1
  53. package/dist/esm/certificate/kinds/OperationalBase.js +16 -2
  54. package/dist/esm/certificate/kinds/OperationalBase.js.map +1 -1
  55. package/dist/esm/certificate/kinds/Rcac.d.ts +2 -0
  56. package/dist/esm/certificate/kinds/Rcac.d.ts.map +1 -1
  57. package/dist/esm/certificate/kinds/Rcac.js +6 -0
  58. package/dist/esm/certificate/kinds/Rcac.js.map +1 -1
  59. package/dist/esm/certificate/kinds/X509Base.d.ts +10 -3
  60. package/dist/esm/certificate/kinds/X509Base.d.ts.map +1 -1
  61. package/dist/esm/certificate/kinds/X509Base.js +303 -13
  62. package/dist/esm/certificate/kinds/X509Base.js.map +2 -2
  63. package/dist/esm/certificate/kinds/definitions/asn.d.ts +13 -0
  64. package/dist/esm/certificate/kinds/definitions/asn.d.ts.map +1 -1
  65. package/dist/esm/certificate/kinds/definitions/asn.js +32 -22
  66. package/dist/esm/certificate/kinds/definitions/asn.js.map +1 -1
  67. package/dist/esm/certificate/kinds/definitions/operational.d.ts +16 -16
  68. package/dist/esm/certificate/kinds/definitions/operational.js +2 -2
  69. package/dist/esm/certificate/kinds/definitions/operational.js.map +1 -1
  70. package/dist/esm/mdns/MdnsConsts.d.ts +1 -1
  71. package/dist/esm/mdns/MdnsConsts.d.ts.map +1 -1
  72. package/dist/esm/mdns/MdnsConsts.js +1 -1
  73. package/package.json +6 -6
  74. package/src/advertisement/PairingHintBitmap.ts +1 -1
  75. package/src/advertisement/mdns/CommissionableMdnsAdvertisement.ts +23 -6
  76. package/src/certificate/kinds/Icac.ts +7 -0
  77. package/src/certificate/kinds/Noc.ts +7 -0
  78. package/src/certificate/kinds/OperationalBase.ts +18 -3
  79. package/src/certificate/kinds/Rcac.ts +7 -0
  80. package/src/certificate/kinds/X509Base.ts +422 -7
  81. package/src/certificate/kinds/definitions/asn.ts +48 -25
  82. package/src/certificate/kinds/definitions/operational.ts +2 -2
  83. package/src/mdns/MdnsConsts.ts +1 -1
@@ -49,7 +49,7 @@ export declare const PairingHintBitmap: {
49
49
  * The Device will enter Commissioning Mode when reset button is pressed for N seconds. The exact value of N SHALL
50
50
  * be made available via PI key.
51
51
  */
52
- pressRestButtonForNumberOfSeconds: BitFlag;
52
+ pressResetButtonForNumberOfSeconds: BitFlag;
53
53
  /**
54
54
  * The Device will enter Commissioning Mode when reset button is pressed until associated light blinks.
55
55
  * Information on color of light MAY be made available via PI key (see Note 1).
@@ -149,7 +149,7 @@ export declare const PairingHintBitmapSchema: import("@matter/types").BitmapSche
149
149
  * The Device will enter Commissioning Mode when reset button is pressed for N seconds. The exact value of N SHALL
150
150
  * be made available via PI key.
151
151
  */
152
- pressRestButtonForNumberOfSeconds: BitFlag;
152
+ pressResetButtonForNumberOfSeconds: BitFlag;
153
153
  /**
154
154
  * The Device will enter Commissioning Mode when reset button is pressed until associated light blinks.
155
155
  * Information on color of light MAY be made available via PI key (see Note 1).
@@ -73,7 +73,7 @@ const PairingHintBitmap = {
73
73
  * The Device will enter Commissioning Mode when reset button is pressed for N seconds. The exact value of N SHALL
74
74
  * be made available via PI key.
75
75
  */
76
- pressRestButtonForNumberOfSeconds: (0, import_types.BitFlag)(8),
76
+ pressResetButtonForNumberOfSeconds: (0, import_types.BitFlag)(8),
77
77
  /**
78
78
  * The Device will enter Commissioning Mode when reset button is pressed until associated light blinks.
79
79
  * Information on color of light MAY be made available via PI key (see Note 1).
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/advertisement/PairingHintBitmap.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAsC;AANtC;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,gBAAY,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,2BAAuB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,mBAAe,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKxB,wBAAoB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,uBAAmB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,kBAAc,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKvB,sBAAkB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAK3B,4CAAwC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,uCAAmC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,sCAAkC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,8DAA0D,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,4DAAwD,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,mCAA+B,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAKzC,sBAAkB,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAK5B,4CAAwC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlD,wCAAoC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,sCAAkC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,8DAA0D,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,4DAAwD,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,mCAA+B,sBAAQ,EAAE;AAC7C;AAEO,MAAM,8BAA0B,2BAAa,iBAAiB;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,mBAAsC;AANtC;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,gBAAY,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQrB,2BAAuB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,mBAAe,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKxB,wBAAoB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7B,uBAAmB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,kBAAc,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAKvB,sBAAkB,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA,EAK3B,4CAAwC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,wCAAoC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM7C,sCAAkC,sBAAQ,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3C,8DAA0D,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,4DAAwD,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,mCAA+B,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAKzC,sBAAkB,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA,EAK5B,4CAAwC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlD,wCAAoC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,sCAAkC,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5C,8DAA0D,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpE,4DAAwD,sBAAQ,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlE,mCAA+B,sBAAQ,EAAE;AAC7C;AAEO,MAAM,8BAA0B,2BAAa,iBAAiB;",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CommissionableMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAc1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IACrG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;IAWtF,IAAa,UAAU,2CA4BtB;IAED,IAAa,SAAS,4BA0BrB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAiB5C"}
1
+ {"version":3,"file":"CommissionableMdnsAdvertisement.d.ts","sourceRoot":"","sources":["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAc1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D;;GAEG;AACH,qBAAa,+BAAgC,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC,cAAc,CAAC;;IACrG,UAAU,EAAE,MAAM,CAAC;gBAEP,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,CAAC,cAAc;IAWtF,IAAa,UAAU,2CA4BtB;IAED,IAAa,SAAS,4BA0BrB;IAEQ,WAAW,CAAC,KAAK,EAAE,aAAa;CAkC5C"}
@@ -93,11 +93,29 @@ class CommissionableMdnsAdvertisement extends import_MdnsAdvertisement.MdnsAdver
93
93
  }
94
94
  #validatePairingInstructions() {
95
95
  const { pairingHint, pairingInstructions } = this.description;
96
- const needsInstructions = pairingHint && import_MdnsConsts.PAIRING_HINTS_REQUIRING_INSTRUCTION.find((hint) => pairingHint[hint] === true);
97
- if (needsInstructions && !pairingInstructions) {
98
- throw new import_general.ImplementationError(
99
- `Pairing instructions required for pairing hint of type "${needsInstructions}"`
96
+ if (pairingHint) {
97
+ if (Object.values(pairingHint).every((v) => !v)) {
98
+ throw new import_general.ImplementationError("At least one pairing hint must be set if pairing hint is provided");
99
+ }
100
+ const needsInstructionsCount = import_MdnsConsts.PAIRING_HINTS_REQUIRING_INSTRUCTION.reduce(
101
+ (count, hint) => pairingHint[hint] === true ? count + 1 : count,
102
+ 0
100
103
  );
104
+ if (needsInstructionsCount > 1) {
105
+ throw new import_general.ImplementationError(
106
+ `Only one pairing hint requiring instructions can be set, but got ${needsInstructionsCount}`
107
+ );
108
+ } else if (needsInstructionsCount === 1 && !pairingInstructions) {
109
+ throw new import_general.ImplementationError(
110
+ `Pairing instructions are required when a pairing hint requiring instructions is set`
111
+ );
112
+ } else if (needsInstructionsCount === 0 && pairingInstructions) {
113
+ throw new import_general.ImplementationError(
114
+ `Pairing instructions provided but no pairing hint requiring instructions set`
115
+ );
116
+ }
117
+ } else if (pairingInstructions) {
118
+ throw new import_general.ImplementationError("Pairing instructions provided but no pairing hint set");
101
119
  }
102
120
  }
103
121
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/advertisement/mdns/CommissionableMdnsAdvertisement.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAwC;AAExC,qBAA+C;AAC/C,wBAWO;AACP,+BAAkC;AAtBlC;AAAA;AAAA;AAAA;AAAA;AA4BO,MAAM,wCAAwC,2CAAqD;AAAA,EACtG;AAAA,EAEA,YAAY,YAA4B,aAAgD;AACpF,UAAM,aAAa,WAAW,iBAAiB;AAC/C,UAAM,YAAQ,gDAA6B,UAAU;AAErD,UAAM,YAAY,OAAO,WAAW;AAEpC,SAAK,aAAa;AAElB,SAAK,6BAA6B;AAAA,EACtC;AAAA,EAEA,IAAa,aAAa;AACtB,UAAM,EAAE,eAAe,YAAY,SAAS,IAAI,KAAK;AAErD,UAAM,qBAAsB,iBAAiB,IAAK;AAClD,UAAM,kBAAc,kCAAe,QAAQ;AAC3C,UAAM,sBAAkB,sCAAmB,UAAU;AACrD,UAAM,8BAA0B,8CAA2B,kBAAkB;AAC7E,UAAM,6BAAyB,6CAA0B,aAAa;AACtE,UAAM,0BAAsB,6CAA0B;AAEtD,UAAM,UAAU;AAAA,UACZ,0BAAU,2CAAyB,iDAA+B;AAAA,UAClE,0BAAU,2CAAyB,eAAe;AAAA,UAClD,0BAAU,2CAAyB,uBAAuB;AAAA,UAC1D,0BAAU,2CAAyB,sBAAsB;AAAA,UACzD,0BAAU,2CAAyB,mBAAmB;AAAA,UACtD,0BAAU,mDAAiC,KAAK,KAAK;AAAA,UACrD,0BAAU,iBAAiB,KAAK,KAAK;AAAA,UACrC,0BAAU,yBAAyB,KAAK,KAAK;AAAA,UAC7C,0BAAU,wBAAwB,KAAK,KAAK;AAAA,UAC5C,0BAAU,qBAAqB,KAAK,KAAK;AAAA,IAC7C;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,cAAQ,SAAK,0BAAU,2CAAyB,WAAW,OAAG,0BAAU,aAAa,KAAK,KAAK,CAAC;AAAA,IACpG;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,IAAa,YAAY;AACrB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd;AAAA,IACJ,IAAI,KAAK;AAET,UAAM,SAAkC;AAAA,MACpC,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,GAAG;AAAA,MACH,IAAI;AAAA,MACJ,IAAI,iDAAwB,OAAO,WAAW;AAAA,MAC9C,IAAI;AAAA,IACR;AAEA,QAAI,CAAC,KAAK,iBAAiB;AACvB,aAAO,KAAK,GAAG,QAAQ,IAAI,SAAS;AAAA,IACxC;AAEA,WAAO;AAAA,EACX;AAAA,EAES,YAAY,OAAsB;AAEvC,WAAO,MAAM,gBAAgB;AAAA,EACjC;AAAA,EAEA,+BAA+B;AAC3B,UAAM,EAAE,aAAa,oBAAoB,IAAI,KAAK;AAElD,UAAM,oBACF,eAAe,sDAAoC,KAAK,UAAQ,YAAY,IAAI,MAAM,IAAI;AAE9F,QAAI,qBAAqB,CAAC,qBAAqB;AAC3C,YAAM,IAAI;AAAA,QACN,2DAA2D,iBAAiB;AAAA,MAChF;AAAA,IACJ;AAAA,EACJ;AACJ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -13,6 +13,8 @@ import { Rcac } from "./Rcac.js";
13
13
  export declare class Icac extends OperationalBase<OperationalCertificate.Icac> {
14
14
  /** Construct the class from a Tlv version of the certificate */
15
15
  static fromTlv(tlv: Bytes): Icac;
16
+ /** Construct the class from an ASN.1/DER encoded certificate */
17
+ static fromAsn1(asn1: Bytes): Icac;
16
18
  /** Validates all basic certificate fields on construction. */
17
19
  protected validateFields(): void;
18
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Icac.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Icac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;GAEG;AACH,qBAAa,IAAK,SAAQ,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAClE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAIhC,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAWxB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CAiH1C"}
1
+ {"version":3,"file":"Icac.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Icac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC;;GAEG;AACH,qBAAa,IAAK,SAAQ,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAClE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAIhC,gEAAgE;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAKlC,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAWxB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CAiH1C"}
@@ -27,6 +27,7 @@ var import_common = require("./common.js");
27
27
  var import_base = require("./definitions/base.js");
28
28
  var import_operational = require("./definitions/operational.js");
29
29
  var import_OperationalBase = require("./OperationalBase.js");
30
+ var import_X509Base = require("./X509Base.js");
30
31
  /**
31
32
  * @license
32
33
  * Copyright 2022-2025 Matter.js Authors
@@ -37,6 +38,11 @@ class Icac extends import_OperationalBase.OperationalBase {
37
38
  static fromTlv(tlv) {
38
39
  return new Icac(import_operational.OperationalCertificate.TlvIcac.decode(tlv));
39
40
  }
41
+ /** Construct the class from an ASN.1/DER encoded certificate */
42
+ static fromAsn1(asn1) {
43
+ const cert = import_X509Base.X509Base.parseAsn1Certificate(asn1);
44
+ return new Icac(cert);
45
+ }
40
46
  /** Validates all basic certificate fields on construction. */
41
47
  validateFields() {
42
48
  const {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/certificate/kinds/Icac.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,mBAAyB;AACzB,oBAAiC;AACjC,kBAAwC;AACxC,yBAAuC;AACvC,6BAAgC;AAXhC;AAAA;AAAA;AAAA;AAAA;AAiBO,MAAM,aAAa,uCAA6C;AAAA;AAAA,EAEnE,OAAO,QAAQ,KAAkB;AAC7B,WAAO,IAAI,KAAK,0CAAuB,QAAQ,OAAO,GAAG,CAAC;AAAA,EAC9D;AAAA;AAAA,EAGU,iBAAiB;AACvB,UAAM;AAAA,MACF,YAAY;AAAA,QACR,kBAAkB,EAAE,KAAK;AAAA,MAC7B;AAAA,IACJ,IAAI,KAAK;AACT,QAAI,CAAC,MAAM;AACP,YAAM,IAAI,+BAAiB,wCAAwC;AAAA,IACvE;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc;AACV,WAAO,0CAAuB,QAAQ,OAAO,EAAE,GAAG,KAAK,MAAM,WAAW,KAAK,UAAU,CAAC;AAAA,EAC5F;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,OAAO,QAAgB,MAAY;AACrC,SAAK,cAAc;AAEnB,UAAM;AAAA,MACF;AAAA,MACA,QAAQ,EAAE,OAAO;AAAA,MACjB;AAAA,IACJ,IAAI,KAAK;AACT,UAAM,EAAE,UAAU,OAAO,IAAI;AAC7B,UAAM,EAAE,kBAAkB,kBAAkB,sBAAsB,uBAAuB,IAAI;AAE7F,UAAM,EAAE,UAAU,aAAa,IAAI,KAAK,KAAK;AAE7C,QAAI,YAAY,SAAS;AACrB,YAAM,IAAI,+BAAiB,4CAA4C;AAAA,IAC3E;AAGA,QAAI,aAAa,QAAW;AACxB,UAAI,MAAM,QAAQ,QAAQ,GAAG;AACzB,cAAM,IAAI,+BAAiB,wCAAwC,0BAAW,KAAK,QAAQ,CAAC,EAAE;AAAA,MAClG;AAEA,UAAI,iBAAa,uBAAS,CAAC,GAAG;AAC1B,cAAM,IAAI,+BAAiB,wCAAwC,0BAAW,KAAK,QAAQ,CAAC,EAAE;AAAA,MAClG;AAAA,IACJ;AAGA,QAAI,WAAW,UAAa,MAAM,QAAQ,MAAM,GAAG;AAC/C,YAAM,IAAI,+BAAiB,sCAAsC,0BAAW,KAAK,MAAM,CAAC,EAAE;AAAA,IAC9F;AAGA,QAAI,YAAY,SAAS;AACrB,YAAM,IAAI,+BAAiB,6CAA6C;AAAA,IAC5E;AAGA,QAAI,2BAA2B,SAAS;AACpC,YAAM,IAAI,+BAAiB,2DAA2D;AAAA,IAC1F;AAGA,QAAI,WAAW,SAAS;AACpB,YAAM,IAAI,+BAAiB,2CAA2C;AAAA,IAC1E;AAMA,QAAI,iBAAiB,UAAa,aAAa,UAAa,iBAAiB,UAAU;AACnF,YAAM,IAAI;AAAA,QACN,sFAAsF,0BAAW;AAAA,UAC7F;AAAA,QACJ,CAAC,QAAQ,0BAAW,KAAK,QAAQ,CAAC;AAAA,MACtC;AAAA,IACJ;AAGA,QAAI,KAAK,KAAK,QAAQ,WAAW,QAAQ;AACrC,YAAM,IAAI;AAAA,QACN,kFAAkF,0BAAW;AAAA,UACzF,KAAK,KAAK,QAAQ;AAAA,QACtB,CAAC,QAAQ,0BAAW,KAAK,MAAM,CAAC;AAAA,MACpC;AAAA,IACJ;AAGA,QAAI,CAAC,iBAAiB,MAAM;AACxB,YAAM,IAAI,+BAAiB,6CAA6C;AAAA,IAC5E;AAIA,UAAM,WAAW,oCAAwB,OAAO,WAAW,QAAQ;AACnE,QAAI,aAAa,MAAU,aAAa,IAAQ;AAC5C,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAGA,QAAI,qBAAqB,QAAW;AAChC,YAAM,IAAI,+BAAiB,qDAAqD;AAAA,IACpF;AAGA,QAAI,yBAAyB,QAAW;AACpC,YAAM,IAAI,+BAAiB,qDAAqD;AAAA,IACpF;AACA,QAAI,qBAAqB,eAAe,IAAI;AACxC,YAAM,IAAI,+BAAiB,uDAAuD;AAAA,IACtF;AAGA,QAAI,2BAA2B,QAAW;AACtC,YAAM,IAAI,+BAAiB,uDAAuD;AAAA,IACtF;AACA,QAAI,uBAAuB,eAAe,IAAI;AAC1C,YAAM,IAAI,+BAAiB,yDAAyD;AAAA,IACxF;AAGA,QAAI,CAAC,qBAAM,SAAS,wBAAwB,KAAK,KAAK,WAAW,oBAAoB,GAAG;AACpF,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,OAAO,gBAAY,0BAAU,KAAK,KAAK,sBAAsB,GAAG,KAAK,eAAe,GAAG,KAAK,SAAS;AAAA,EAC/G;AACJ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -11,6 +11,8 @@ import { Rcac } from "./Rcac.js";
11
11
  export declare class Noc extends OperationalBase<OperationalCertificate.Noc> {
12
12
  /** Construct the class from a Tlv version of the certificate */
13
13
  static fromTlv(tlv: Bytes): Noc;
14
+ /** Construct the class from an ASN.1/DER encoded certificate */
15
+ static fromAsn1(asn1: Bytes): Noc;
14
16
  /** Validates all basic certificate fields on construction. */
15
17
  protected validateFields(): void;
16
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Noc.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Noc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAGhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,qBAAa,GAAI,SAAQ,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC;IAChE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;IAIzB,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAexB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;CAwHtD"}
1
+ {"version":3,"file":"Noc.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Noc.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAGhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,qBAAa,GAAI,SAAQ,eAAe,CAAC,sBAAsB,CAAC,GAAG,CAAC;IAChE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;IAIzB,gEAAgE;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK;IAK3B,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAexB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI;CAwHtD"}
@@ -26,6 +26,7 @@ var import_types = require("#types");
26
26
  var import_common = require("./common.js");
27
27
  var import_operational = require("./definitions/operational.js");
28
28
  var import_OperationalBase = require("./OperationalBase.js");
29
+ var import_X509Base = require("./X509Base.js");
29
30
  /**
30
31
  * @license
31
32
  * Copyright 2022-2025 Matter.js Authors
@@ -36,6 +37,11 @@ class Noc extends import_OperationalBase.OperationalBase {
36
37
  static fromTlv(tlv) {
37
38
  return new Noc(import_operational.OperationalCertificate.TlvNoc.decode(tlv));
38
39
  }
40
+ /** Construct the class from an ASN.1/DER encoded certificate */
41
+ static fromAsn1(asn1) {
42
+ const cert = import_X509Base.X509Base.parseAsn1Certificate(asn1);
43
+ return new Noc(cert);
44
+ }
39
45
  /** Validates all basic certificate fields on construction. */
40
46
  validateFields() {
41
47
  const {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/certificate/kinds/Noc.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -15,7 +15,12 @@ export declare abstract class OperationalBase<CT extends X509Certificate> extend
15
15
  /** Validates all basic certificate fields on construction. */
16
16
  protected abstract validateFields(): void;
17
17
  /** Encodes the signed certificate into the Matter TLV format. */
18
- abstract asSignedTlv(signature: Bytes): Bytes;
18
+ abstract asSignedTlv(): Bytes;
19
+ /**
20
+ * Returns the signed certificate in ASN.1 DER format.
21
+ * If the certificate is not signed, it throws a CertificateError.
22
+ */
23
+ asSignedAsn1(): AllowSharedBufferSource;
19
24
  /**
20
25
  * Verifies general requirements a Matter certificate fields must fulfill.
21
26
  * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
@@ -1 +1 @@
1
- {"version":3,"file":"OperationalBase.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/OperationalBase.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAgB,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAoB,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;GAEG;AACH,8BAAsB,eAAe,CAAC,EAAE,SAAS,eAAe,CAAE,SAAQ,QAAQ,CAAC,EAAE,CAAC;gBACtE,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IAKnC,8DAA8D;IAC9D,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;IAEzC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAE7C;;;OAGG;IACH,aAAa;CAuChB"}
1
+ {"version":3,"file":"OperationalBase.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/OperationalBase.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAA8C,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAA8C,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD;;GAEG;AACH,8BAAsB,eAAe,CAAC,EAAE,SAAS,eAAe,CAAE,SAAQ,QAAQ,CAAC,EAAE,CAAC;gBACtE,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IAKnC,8DAA8D;IAC9D,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,IAAI;IAEzC,iEAAiE;IACjE,QAAQ,CAAC,WAAW,IAAI,KAAK;IAE7B;;;OAGG;IACH,YAAY;IAWZ;;;OAGG;IACH,aAAa;CAuChB"}
@@ -35,6 +35,20 @@ class OperationalBase extends import_X509Base.X509Base {
35
35
  super(cert);
36
36
  this.validateFields();
37
37
  }
38
+ /**
39
+ * Returns the signed certificate in ASN.1 DER format.
40
+ * If the certificate is not signed, it throws a CertificateError.
41
+ */
42
+ asSignedAsn1() {
43
+ const certificate = this.genericBuildAsn1Structure(this.cert);
44
+ const certBytes = import_general.DerCodec.encode({
45
+ certificate,
46
+ signAlgorithm: import_general.X962.EcdsaWithSHA256,
47
+ signature: (0, import_general.DerBitString)(this.signature)
48
+ });
49
+ (0, import_common.assertCertificateDerSize)(certBytes);
50
+ return certBytes;
51
+ }
38
52
  /**
39
53
  * Verifies general requirements a Matter certificate fields must fulfill.
40
54
  * Rules for this are listed in @see {@link MatterSpecification.v12.Core} §6.5.x
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/certificate/kinds/OperationalBase.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAoC;AACpC,sBAAyB;AACzB,oBAA2C;AAR3C;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,SAAS,sBAAO,IAAI,4BAA4B;AAK/C,MAAe,wBAAoD,yBAAa;AAAA,EACnF,YAAY,MAAyB;AACjC,UAAM,IAAI;AACV,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,gBAAgB;AACZ,UAAM,OAAO,KAAK;AAClB,QAAI,KAAK,aAAa,aAAa;AAC/B,YAAM,IAAI;AAAA,QACN,8EAA8E,KAAK,aAAa,UAAU;AAAA,MAC9G;AAEJ,QAAI,KAAK,uBAAuB,GAAG;AAE/B,YAAM,IAAI,+BAAiB,oCAAoC,KAAK,kBAAkB,EAAE;AAAA,IAC5F;AAEA,QAAI,KAAK,uBAAuB,GAAG;AAE/B,YAAM,IAAI,+BAAiB,qCAAqC,KAAK,kBAAkB,EAAE;AAAA,IAC7F;AAEA,QAAI,KAAK,4BAA4B,GAAG;AAEpC,YAAM,IAAI,+BAAiB,0CAA0C,KAAK,uBAAuB,EAAE;AAAA,IACvG;AAGA,QAAI,OAAO,KAAK,KAAK,OAAO,EAAE,SAAS,GAAG;AACtC,YAAM,IAAI,+BAAiB,wDAAwD;AAAA,IACvF;AACA,QAAI,OAAO,KAAK,KAAK,MAAM,EAAE,SAAS,GAAG;AACrC,YAAM,IAAI,+BAAiB,uDAAuD;AAAA,IACtF;AAIA,QAAI,KAAK,YAAY,MAAO,oBAAK,OAAO;AACpC,aAAO,KAAK,gDAAgD,KAAK,YAAY,GAAI,OAAO,oBAAK,KAAK,EAAE;AAAA,IAIxG;AAAA,EACJ;AACJ;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAkE;AAClE,sBAAyB;AACzB,oBAAqE;AARrE;AAAA;AAAA;AAAA;AAAA;AAWA,MAAM,SAAS,sBAAO,IAAI,4BAA4B;AAK/C,MAAe,wBAAoD,yBAAa;AAAA,EACnF,YAAY,MAAyB;AACjC,UAAM,IAAI;AACV,SAAK,eAAe;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,eAAe;AACX,UAAM,cAAc,KAAK,0BAA0B,KAAK,IAAI;AAC5D,UAAM,YAAY,wBAAS,OAAO;AAAA,MAC9B;AAAA,MACA,eAAe,oBAAK;AAAA,MACpB,eAAW,6BAAa,KAAK,SAAS;AAAA,IAC1C,CAAC;AACD,gDAAyB,SAAS;AAClC,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB;AACZ,UAAM,OAAO,KAAK;AAClB,QAAI,KAAK,aAAa,aAAa;AAC/B,YAAM,IAAI;AAAA,QACN,8EAA8E,KAAK,aAAa,UAAU;AAAA,MAC9G;AAEJ,QAAI,KAAK,uBAAuB,GAAG;AAE/B,YAAM,IAAI,+BAAiB,oCAAoC,KAAK,kBAAkB,EAAE;AAAA,IAC5F;AAEA,QAAI,KAAK,uBAAuB,GAAG;AAE/B,YAAM,IAAI,+BAAiB,qCAAqC,KAAK,kBAAkB,EAAE;AAAA,IAC7F;AAEA,QAAI,KAAK,4BAA4B,GAAG;AAEpC,YAAM,IAAI,+BAAiB,0CAA0C,KAAK,uBAAuB,EAAE;AAAA,IACvG;AAGA,QAAI,OAAO,KAAK,KAAK,OAAO,EAAE,SAAS,GAAG;AACtC,YAAM,IAAI,+BAAiB,wDAAwD;AAAA,IACvF;AACA,QAAI,OAAO,KAAK,KAAK,MAAM,EAAE,SAAS,GAAG;AACrC,YAAM,IAAI,+BAAiB,uDAAuD;AAAA,IACtF;AAIA,QAAI,KAAK,YAAY,MAAO,oBAAK,OAAO;AACpC,aAAO,KAAK,gDAAgD,KAAK,YAAY,GAAI,OAAO,oBAAK,KAAK,EAAE;AAAA,IAIxG;AAAA,EACJ;AACJ;",
5
5
  "names": []
6
6
  }
@@ -9,6 +9,8 @@ import { OperationalBase } from "./OperationalBase.js";
9
9
  export declare class Rcac extends OperationalBase<OperationalCertificate.Rcac> {
10
10
  /** Construct the class from a Tlv version of the certificate */
11
11
  static fromTlv(tlv: Bytes): Rcac;
12
+ /** Construct the class from an ASN.1/DER encoded certificate */
13
+ static fromAsn1(asn1: Bytes): Rcac;
12
14
  /** Validates all basic certificate fields on construction. */
13
15
  protected validateFields(): void;
14
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Rcac.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Rcac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,qBAAa,IAAK,SAAQ,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAClE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAIhC,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAWxB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM;CAuF9B"}
1
+ {"version":3,"file":"Rcac.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/Rcac.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAyB,MAAM,UAAU,CAAC;AAIhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,IAAK,SAAQ,eAAe,CAAC,sBAAsB,CAAC,IAAI,CAAC;IAClE,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAIhC,gEAAgE;IAChE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAKlC,8DAA8D;IAC9D,SAAS,CAAC,cAAc;IAWxB;;;OAGG;IACH,WAAW;IAIX;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM;CAuF9B"}
@@ -27,6 +27,7 @@ var import_common = require("./common.js");
27
27
  var import_base = require("./definitions/base.js");
28
28
  var import_operational = require("./definitions/operational.js");
29
29
  var import_OperationalBase = require("./OperationalBase.js");
30
+ var import_X509Base = require("./X509Base.js");
30
31
  /**
31
32
  * @license
32
33
  * Copyright 2022-2025 Matter.js Authors
@@ -37,6 +38,11 @@ class Rcac extends import_OperationalBase.OperationalBase {
37
38
  static fromTlv(tlv) {
38
39
  return new Rcac(import_operational.OperationalCertificate.TlvRcac.decode(tlv));
39
40
  }
41
+ /** Construct the class from an ASN.1/DER encoded certificate */
42
+ static fromAsn1(asn1) {
43
+ const cert = import_X509Base.X509Base.parseAsn1Certificate(asn1);
44
+ return new Rcac(cert);
45
+ }
40
46
  /** Validates all basic certificate fields on construction. */
41
47
  validateFields() {
42
48
  const {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/certificate/kinds/Rcac.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAqD;AACrD,mBAAyB;AACzB,oBAAiC;AACjC,kBAAwC;AACxC,yBAAuC;AACvC,6BAAgC;AAXhC;AAAA;AAAA;AAAA;AAAA;AAaO,MAAM,aAAa,uCAA6C;AAAA;AAAA,EAEnE,OAAO,QAAQ,KAAkB;AAC7B,WAAO,IAAI,KAAK,0CAAuB,QAAQ,OAAO,GAAG,CAAC;AAAA,EAC9D;AAAA;AAAA,EAGU,iBAAiB;AACvB,UAAM;AAAA,MACF,YAAY;AAAA,QACR,kBAAkB,EAAE,KAAK;AAAA,MAC7B;AAAA,IACJ,IAAI,KAAK;AACT,QAAI,CAAC,MAAM;AACP,YAAM,IAAI,+BAAiB,gCAAgC;AAAA,IAC/D;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAc;AACV,WAAO,0CAAuB,QAAQ,OAAO,EAAE,GAAG,KAAK,MAAM,WAAW,KAAK,UAAU,CAAC;AAAA,EAC5F;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,OAAO,QAAgB;AACzB,SAAK,cAAc;AAEnB,UAAM,EAAE,SAAS,WAAW,IAAI,KAAK;AACrC,UAAM,EAAE,UAAU,OAAO,IAAI;AAC7B,UAAM,EAAE,kBAAkB,sBAAsB,uBAAuB,IAAI;AAG3E,QAAI,YAAY,SAAS;AACrB,YAAM,IAAI,+BAAiB,6CAA6C;AAAA,IAC5E;AAGA,QAAI,aAAa,QAAW;AACxB,UAAI,MAAM,QAAQ,QAAQ,GAAG;AACzB,cAAM,IAAI,+BAAiB,wCAAwC,0BAAW,KAAK,QAAQ,CAAC,EAAE;AAAA,MAClG;AAEA,UAAI,iBAAa,uBAAS,CAAC,GAAG;AAC1B,cAAM,IAAI,+BAAiB,wCAAwC,0BAAW,KAAK,QAAQ,CAAC,EAAE;AAAA,MAClG;AAAA,IACJ;AAGA,QAAI,YAAY,SAAS;AACrB,YAAM,IAAI,+BAAiB,8CAA8C;AAAA,IAC7E;AAGA,QAAI,WAAW,UAAa,MAAM,QAAQ,MAAM,GAAG;AAC/C,YAAM,IAAI,+BAAiB,uCAAuC,0BAAW,KAAK,MAAM,CAAC,EAAE;AAAA,IAC/F;AAGA,QAAI,2BAA2B,SAAS;AACpC,YAAM,IAAI,+BAAiB,4DAA4D;AAAA,IAC3F;AAGA,QAAI,WAAW,SAAS;AACpB,YAAM,IAAI,+BAAiB,4CAA4C;AAAA,IAC3E;AAGA,QAAI,iBAAiB,SAAS,MAAM;AAChC,YAAM,IAAI,+BAAiB,8CAA8C;AAAA,IAC7E;AAIA,UAAM,WAAW,oCAAwB,OAAO,WAAW,QAAQ;AACnE,QAAI,aAAa,MAAU,aAAa,IAAQ;AAC5C,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAGA,QAAI,WAAW,qBAAqB,QAAW;AAC3C,YAAM,IAAI,+BAAiB,sDAAsD;AAAA,IACrF;AAGA,QAAI,yBAAyB,QAAW;AACpC,YAAM,IAAI,+BAAiB,sDAAsD;AAAA,IACrF;AACA,QAAI,qBAAqB,eAAe,IAAI;AACxC,YAAM,IAAI,+BAAiB,wDAAwD;AAAA,IACvF;AAGA,QAAI,2BAA2B,QAAW;AACtC,YAAM,IAAI,+BAAiB,wDAAwD;AAAA,IACvF;AACA,QAAI,uBAAuB,eAAe,IAAI;AAC1C,YAAM,IAAI,+BAAiB,0DAA0D;AAAA,IACzF;AAGA,QAAI,CAAC,qBAAM,SAAS,wBAAwB,oBAAoB,GAAG;AAC/D,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,OAAO,gBAAY,0BAAU,KAAK,KAAK,sBAAsB,GAAG,KAAK,eAAe,GAAG,KAAK,SAAS;AAAA,EAC/G;AACJ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -38,7 +38,7 @@ export declare abstract class X509Base<CT extends X509Certificate> {
38
38
  /**
39
39
  * Build the ASN.1 DER structure for the certificate.
40
40
  */
41
- protected genericBuildAsn1Structure({ serialNumber, notBefore, notAfter, issuer, subject, ellipticCurvePublicKey, extensions, }: Unsigned<CT>): {
41
+ genericBuildAsn1Structure({ serialNumber, notBefore, notAfter, issuer, subject, ellipticCurvePublicKey, extensions, }: Unsigned<CT>): {
42
42
  version: {
43
43
  _tag: number;
44
44
  _bytes: AllowSharedBufferSource;
@@ -80,13 +80,20 @@ export declare abstract class X509Base<CT extends X509Certificate> {
80
80
  _bytes: AllowSharedBufferSource;
81
81
  };
82
82
  };
83
+ }
84
+ export declare namespace X509Base {
83
85
  /**
84
86
  * Create a Certificate Signing Request (CSR) in ASN.1 DER format.
85
87
  */
86
- static createCertificateSigningRequest(crypto: Crypto, key: Key): Promise<AllowSharedBufferSource>;
88
+ function createCertificateSigningRequest(crypto: Crypto, key: Key): Promise<AllowSharedBufferSource>;
89
+ /**
90
+ * Parse an ASN.1/DER encoded certificate into the internal format.
91
+ * This extracts the certificate data without the signature.
92
+ */
93
+ function parseAsn1Certificate(encodedCert: Bytes): X509Certificate;
87
94
  /**
88
95
  * Extract the public key from a Certificate Signing Request (CSR) in ASN.1 DER format.
89
96
  */
90
- static getPublicKeyFromCsr(crypto: Crypto, encodedCsr: Bytes): Promise<AllowSharedBufferSource>;
97
+ function getPublicKeyFromCsr(crypto: Crypto, encodedCsr: Bytes): Promise<AllowSharedBufferSource>;
91
98
  }
92
99
  //# sourceMappingURL=X509Base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"X509Base.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/X509Base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAEL,MAAM,EAKN,OAAO,EACP,GAAG,EAMN,MAAM,UAAU,CAAC;AAElB,OAAO,EAA8C,QAAQ,EAAE,MAAM,aAAa,CAAC;AAanF,OAAO,EAAoD,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG1G;;;;GAIG;AACH,8BAAsB,QAAQ,CAAC,EAAE,SAAS,eAAe;;gBAIzC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IAOnC,IAAI,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,CAEvB;IAED,IAAI,QAAQ,YAEX;IAED;;;OAGG;IACH,IAAI,SAAS,IAWY,KAAK,CAN7B;IAED;;;OAGG;IACH,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,EAK7B;IAED;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAI1C;;OAEG;IACH,cAAc,IAAI,KAAK;IAoMvB;;OAEG;IACH,SAAS,CAAC,yBAAyB,CAAC,EAChC,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,sBAAsB,EACtB,UAAU,GACb,EAAE,QAAQ,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAsBf;;OAEG;WACU,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG;IAerE;;OAEG;WACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK;CAyErE"}
1
+ {"version":3,"file":"X509Base.d.ts","sourceRoot":"","sources":["../../../../src/certificate/kinds/X509Base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,KAAK,EAEL,MAAM,EAMN,OAAO,EACP,GAAG,EAMN,MAAM,UAAU,CAAC;AAElB,OAAO,EAA8C,QAAQ,EAAE,MAAM,aAAa,CAAC;AAenF,OAAO,EAAoD,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG1G;;;;GAIG;AACH,8BAAsB,QAAQ,CAAC,EAAE,SAAS,eAAe;;gBAIzC,IAAI,EAAE,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;IAOnC,IAAI,IAAI,IAAI,QAAQ,CAAC,EAAE,CAAC,CAEvB;IAED,IAAI,QAAQ,YAEX;IAED;;;OAGG;IACH,IAAI,SAAS,IAWY,KAAK,CAN7B;IAED;;;OAGG;IACH,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,EAK7B;IAED;;;OAGG;IACG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU;IAI1C;;OAEG;IACH,cAAc,IAAI,KAAK;IAoMvB;;OAEG;IACH,yBAAyB,CAAC,EACtB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,EACN,OAAO,EACP,sBAAsB,EACtB,UAAU,GACb,EAAE,QAAQ,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqBlB;AAED,yBAAiB,QAAQ,CAAC;IACtB;;OAEG;IACH,SAAsB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,oCAa7E;IAqTD;;;OAGG;IACH,SAAgB,oBAAoB,CAAC,WAAW,EAAE,KAAK,GAAG,eAAe,CAiGxE;IAED;;OAEG;IACH,SAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,oCAwE1E;CACJ"}