@matter/protocol 0.16.0-alpha.0-20251220-0bb8d9f89 → 0.16.0-alpha.0-20251221-3dce6fa1b

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.
@@ -27,8 +27,24 @@ export declare class CertificateAuthority {
27
27
  #private;
28
28
  get crypto(): Crypto;
29
29
  get construction(): Construction<CertificateAuthority>;
30
- static create(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | CertificateAuthority.CreationConfiguration): Promise<CertificateAuthority>;
31
- constructor(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | CertificateAuthority.CreationConfiguration);
30
+ /**
31
+ * Creates a new CertificateAuthority instance and use the provided storage to store and retrieve the values.
32
+ * A new certificate is only created when the storage does not contain any credentials.
33
+ * Use the generateIntermediateCert parameter to specify if an ICAC should be created too. The parameter, when set,
34
+ * must match to the storage content if a certificate is stored!
35
+ */
36
+ static create(crypto: Crypto, storage: StorageContext, generateIntermediateCert?: boolean): Promise<CertificateAuthority>;
37
+ /**
38
+ * Creates a new CertificateAuthority instance with the provided configuration. The used certificate is loaded from
39
+ * the configuration object.
40
+ */
41
+ static create(crypto: Crypto, options: CertificateAuthority.Configuration): Promise<CertificateAuthority>;
42
+ /**
43
+ * Creates a new CertificateAuthority instance with the provided configuration. The configuration is not stored.
44
+ * Use the generateIntermediateCert parameter to specify if an ICAC should be created too.
45
+ */
46
+ static create(crypto: Crypto, generateIntermediateCert?: boolean): Promise<CertificateAuthority>;
47
+ constructor(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | boolean, generateIntermediateCert?: boolean);
32
48
  static [Environmental.create](env: Environment): CertificateAuthority;
33
49
  get rootCert(): Bytes;
34
50
  get icacCert(): Bytes | undefined;
@@ -36,16 +52,12 @@ export declare class CertificateAuthority {
36
52
  generateNoc(publicKey: Bytes, fabricId: FabricId, nodeId: NodeId, caseAuthenticatedTags?: CaseAuthenticatedTag[]): Promise<AllowSharedBufferSource>;
37
53
  }
38
54
  export declare namespace CertificateAuthority {
39
- type CreationConfiguration = {
40
- intermediateCert?: boolean;
41
- };
42
55
  type Configuration = {
43
56
  rootCertId: bigint;
44
57
  rootKeyPair: BinaryKeyPair;
45
58
  rootKeyIdentifier: Bytes;
46
59
  rootCertBytes: Bytes;
47
60
  nextCertificateId: bigint;
48
- intermediateCert?: boolean;
49
61
  icacCertId?: bigint;
50
62
  icacKeyPair?: BinaryKeyPair;
51
63
  icacKeyIdentifier?: Bytes;
@@ -57,7 +69,6 @@ export declare namespace CertificateAuthority {
57
69
  rootKeyIdentifier: Bytes;
58
70
  rootCertBytes: Bytes;
59
71
  nextCertificateId: bigint;
60
- intermediateCert?: boolean;
61
72
  icacCertId?: bigint;
62
73
  icacKeyPair?: BinaryKeyPair;
63
74
  icacKeyIdentifier?: Bytes;
@@ -1 +1 @@
1
- {"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EACb,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,aAAa,EAKb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB;;IAW7B,IAAI,MAAM,WAET;IAED,IAAI,YAAY,uCAEf;WAEY,MAAM,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,oBAAoB,CAAC,qBAAqB;gBAM1G,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,oBAAoB,CAAC,qBAAqB;IAkD9G,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C,IAAI,QAAQ,IAAI,KAAK,CAEpB;IAED,IAAI,QAAQ,IAAI,KAAK,GAAG,SAAS,CAKhC;IAED,IAAI,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAkB/C;IAgEK,WAAW,CACb,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,oBAAoB,EAAE;CA+HrD;AASD,yBAAiB,oBAAoB,CAAC;IAClC,KAAY,qBAAqB,GAAG;QAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IAEF,KAAY,aAAa,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;IAEF,KAAY,WAAW,GAAG;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;CACL"}
1
+ {"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EACb,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,aAAa,EAKb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB;;IAU7B,IAAI,MAAM,WAET;IAED,IAAI,YAAY,uCAEf;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,wBAAwB,CAAC,EAAE,OAAO,GACnC,OAAO,CAAC,oBAAoB,CAAC;IAEhC;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAEzG;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBAW5F,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,OAAO,EACvE,wBAAwB,CAAC,EAAE,OAAO;IA6CtC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C,IAAI,QAAQ,IAAI,KAAK,CAEpB;IAED,IAAI,QAAQ,IAAI,KAAK,GAAG,SAAS,CAKhC;IAED,IAAI,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAgB/C;IAgEK,WAAW,CACb,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,oBAAoB,EAAE;CAqIrD;AASD,yBAAiB,oBAAoB,CAAC;IAClC,KAAY,aAAa,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;IAEF,KAAY,WAAW,GAAG;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;CACL"}
@@ -40,7 +40,6 @@ class CertificateAuthority {
40
40
  #rootCertBytes;
41
41
  #nextCertificateId = BigInt(1);
42
42
  #construction;
43
- #intermediateCert;
44
43
  #icacProps;
45
44
  get crypto() {
46
45
  return this.#crypto;
@@ -48,42 +47,37 @@ class CertificateAuthority {
48
47
  get construction() {
49
48
  return this.#construction;
50
49
  }
51
- static async create(crypto, options) {
52
- return (0, import_general.asyncNew)(CertificateAuthority, crypto, options);
50
+ static async create(crypto, options, generateIntermediateCert) {
51
+ return (0, import_general.asyncNew)(CertificateAuthority, crypto, options, generateIntermediateCert);
53
52
  }
54
- constructor(crypto, options) {
53
+ constructor(crypto, options, generateIntermediateCert) {
55
54
  this.#crypto = crypto;
56
55
  this.#construction = (0, import_general.Construction)(this, async () => {
56
+ if (typeof options === "boolean") {
57
+ generateIntermediateCert = options;
58
+ options = void 0;
59
+ }
57
60
  const certValues = options instanceof import_general.StorageContext ? await options.values() : options ?? {};
61
+ const requireIcac = generateIntermediateCert ?? this.#isValidStoredIcacCertificate(certValues);
58
62
  if (this.#isValidStoredRootCertificate(certValues)) {
59
- this.#intermediateCert = typeof certValues.intermediateCert === "boolean" ? certValues.intermediateCert : false;
60
- const icac = this.#isValidStoredIcacCertificate(certValues);
61
- if (icac && this.#intermediateCert === false) {
62
- throw new import_general.ImplementationError(
63
- "CA intermediateCert property is false but icac properties exist in storage"
64
- );
65
- }
66
- if (!icac && this.#intermediateCert === true) {
67
- throw new import_general.ImplementationError(
68
- "CA intermediateCert property is true but icac properties do not exist in storage"
69
- );
70
- }
71
- this.#loadFromStorage(certValues);
72
- logger.info(`Loaded stored credentials with ID ${this.#rootCertId}`);
63
+ this.#loadFromStorage(certValues, requireIcac);
64
+ logger.info(
65
+ `Loaded stored credentials with ID ${this.#rootCertId}${this.#icacProps !== void 0 ? ` and ICAC with ID ${this.#icacProps.certId}` : ""}`
66
+ );
73
67
  return;
74
68
  }
75
- const config = options instanceof import_general.StorageContext ? void 0 : options;
76
- this.#intermediateCert = config?.intermediateCert ?? false;
77
69
  this.#rootKeyPair = await this.#crypto.createKeyPair();
78
70
  this.#rootKeyIdentifier = import_general.Bytes.of(await this.#crypto.computeHash(this.#rootKeyPair.publicKey)).slice(
79
71
  0,
80
72
  20
81
73
  );
82
74
  this.#rootCertBytes = await this.#generateRootCert();
83
- logger.info(`Created new credentials with ID ${this.#rootCertId}`);
84
- if (this.#intermediateCert) {
75
+ if (requireIcac) {
85
76
  this.#icacProps = await this.#generateIcacProps();
86
77
  }
78
+ logger.info(
79
+ `Created new credentials with ID ${this.#rootCertId}${this.#icacProps !== void 0 ? ` and ICAC with ID ${this.#icacProps.certId}` : ""}`
80
+ );
87
81
  if (options instanceof import_general.StorageContext) {
88
82
  await options.set(this.#buildStorageData());
89
83
  }
@@ -105,21 +99,19 @@ class CertificateAuthority {
105
99
  return this.#construction.assert("icac cert", this.#icacProps.certBytes);
106
100
  }
107
101
  get config() {
108
- const config = {
102
+ return {
109
103
  rootCertId: this.#rootCertId,
110
104
  rootKeyPair: this.construction.assert("root key pair", this.#rootKeyPair).keyPair,
111
105
  rootKeyIdentifier: this.construction.assert("root key identifier", this.#rootKeyIdentifier),
112
106
  rootCertBytes: this.construction.assert("root cert bytes", this.#rootCertBytes),
113
107
  nextCertificateId: this.#nextCertificateId,
114
- intermediateCert: this.#intermediateCert
108
+ ...this.#icacProps !== void 0 ? {
109
+ icacCertId: this.#icacProps.certId,
110
+ icacKeyPair: this.construction.assert("icac key pair", this.#icacProps.keyPair).keyPair,
111
+ icacKeyIdentifier: this.construction.assert("icac key identifier", this.#icacProps.keyIdentifier),
112
+ icacCertBytes: this.construction.assert("icac cert bytes", this.#icacProps.certBytes)
113
+ } : {}
115
114
  };
116
- if (this.#icacProps) {
117
- config.icacCertId = this.#icacProps.certId;
118
- config.icacKeyPair = this.construction.assert("icac key pair", this.#icacProps.keyPair).keyPair;
119
- config.icacKeyIdentifier = this.construction.assert("icac key identifier", this.#icacProps.keyIdentifier);
120
- config.icacCertBytes = this.construction.assert("icac cert bytes", this.#icacProps.certBytes);
121
- }
122
- return config;
123
115
  }
124
116
  async #generateRootCert() {
125
117
  const now = import_general.Time.now;
@@ -224,13 +216,19 @@ class CertificateAuthority {
224
216
  #isValidStoredIcacCertificate(certValues) {
225
217
  return (typeof certValues.icacCertId === "number" || typeof certValues.icacCertId === "bigint") && (import_general.Bytes.isBytes(certValues.icacKeyPair) || typeof certValues.icacKeyPair === "object") && import_general.Bytes.isBytes(certValues.icacKeyIdentifier) && import_general.Bytes.isBytes(certValues.icacCertBytes);
226
218
  }
227
- #loadFromStorage(certValues) {
219
+ #loadFromStorage(certValues, requireIcac) {
228
220
  this.#rootCertId = BigInt(certValues.rootCertId);
229
221
  this.#rootKeyPair = (0, import_general.PrivateKey)(certValues.rootKeyPair);
230
222
  this.#rootKeyIdentifier = certValues.rootKeyIdentifier;
231
223
  this.#rootCertBytes = certValues.rootCertBytes;
232
224
  this.#nextCertificateId = BigInt(certValues.nextCertificateId);
233
- if (this.#isValidStoredIcacCertificate(certValues)) {
225
+ const hasIcac = this.#isValidStoredIcacCertificate(certValues);
226
+ if (requireIcac !== void 0 && requireIcac !== hasIcac) {
227
+ throw new import_general.ImplementationError(
228
+ `Stored credentials contain ICAC certificate: ${hasIcac}, but configuration expected it to be ${requireIcac}`
229
+ );
230
+ }
231
+ if (hasIcac) {
234
232
  this.#icacProps = {
235
233
  certId: BigInt(certValues.icacCertId),
236
234
  keyPair: (0, import_general.PrivateKey)(certValues.icacKeyPair),
@@ -245,8 +243,7 @@ class CertificateAuthority {
245
243
  rootKeyPair: this.#initializedRootKeyPair.keyPair,
246
244
  rootKeyIdentifier: this.#initializedRootKeyIdentifier,
247
245
  rootCertBytes: this.#initializedRootCertBytes,
248
- nextCertificateId: this.#nextCertificateId,
249
- intermediateCert: this.#intermediateCert
246
+ nextCertificateId: this.#nextCertificateId
250
247
  };
251
248
  if (this.#icacProps) {
252
249
  data.icacCertId = this.#icacProps.certId;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/certificate/CertificateAuthority.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fabric.d.ts","sourceRoot":"","sources":["../../../src/fabric/Fabric.ts"],"names":[],"mappings":"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"}
@@ -242,6 +242,13 @@ class Fabric {
242
242
  return this.crypto.signEcdsa(this.#keyPair, data);
243
243
  }
244
244
  async verifyCredentials(operationalCert, intermediateCACert) {
245
+ if (intermediateCACert !== void 0 && intermediateCACert.byteLength === 0) {
246
+ intermediateCACert = void 0;
247
+ }
248
+ if (intermediateCACert !== void 0 && import_general.Bytes.areEqual(this.rootCert, intermediateCACert)) {
249
+ logger.info("Intermediate CA certificate is identical to root certificate; omitting ICAC");
250
+ intermediateCACert = void 0;
251
+ }
245
252
  const rootCert = import_Rcac.Rcac.fromTlv(this.rootCert);
246
253
  const nocCert = import_Noc.Noc.fromTlv(operationalCert);
247
254
  const icaCert = intermediateCACert !== void 0 ? import_Icac.Icac.fromTlv(intermediateCACert) : void 0;
@@ -406,6 +413,10 @@ class FabricBuilder {
406
413
  if (this.#rootCert === void 0) {
407
414
  throw new import_general.MatterFlowError("Root certificate needs to be set first");
408
415
  }
416
+ if (intermediateCACert !== void 0 && import_general.Bytes.areEqual(this.#rootCert, intermediateCACert)) {
417
+ logger.info("Intermediate CA certificate is identical to root certificate; omitting ICAC");
418
+ intermediateCACert = void 0;
419
+ }
409
420
  const rootCert = import_Rcac.Rcac.fromTlv(this.#rootCert);
410
421
  const nocCert = import_Noc.Noc.fromTlv(operationalCert);
411
422
  const icaCert = intermediateCACert !== void 0 ? import_Icac.Icac.fromTlv(intermediateCACert) : void 0;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/fabric/Fabric.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,yBAA4B;AAC5B,kBAAqB;AACrB,iBAAoB;AACpB,kBAAqB;AACrB,qBAiBO;AACP,0BAAkD;AAClD,iCAAoC;AACpC,yBAA4B;AAG5B,mBASO;AA1CP;AAAA;AAAA;AAAA;AAAA;AA4CA,MAAM,SAAS,sBAAO,IAAI,QAAQ;AAE3B,MAAM,uBAAuB,2BAAY;AAAC;AAW1C,MAAM,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EACA;AAAA,EACS;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,oBAAI,IAAmB;AAAA,EACnC;AAAA,EACA;AAAA,EAEA,eAAW,gCAAoB;AAAA,EAC/B,gBAAY,gCAAoB;AAAA,EAChC,eAAW,gCAAoB;AAAA,EAExC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,YAAY,QAAgB,QAAkC;AAC1D,SAAK,UAAU;AACf,SAAK,cAAc,OAAO;AAC1B,SAAK,WAAW,OAAO;AACvB,SAAK,SAAS,OAAO;AACrB,SAAK,aAAa,OAAO;AACzB,QAAI,mBAAmB,QAAQ;AAC3B,WAAK,eAAW,6BAAe,OAAO,aAAa;AAAA,IACvD,OAAO;AACH,WAAK,WAAW,OAAO;AAAA,IAC3B;AACA,SAAK,iBAAiB,OAAO;AAC7B,SAAK,gBAAgB,OAAO;AAC5B,SAAK,WAAW,OAAO;AACvB,SAAK,wBAAwB,OAAO;AACpC,SAAK,mCAAmC,OAAO;AAC/C,SAAK,qBAAqB,OAAO;AACjC,SAAK,kBAAkB,OAAO;AAC9B,SAAK,4BAA4B,OAAO;AACxC,SAAK,QAAQ,OAAO;AACpB,SAAK,SAAS,OAAO;AACrB,SAAK,eAAW,2BAAW,OAAO,OAAO;AACzC,SAAK,iBAAiB,IAAI,+CAAoB,IAAI;AAClD,SAAK,UAAU,IAAI,iCAAa,IAAI;AAAA,EACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,OAAO,QAAgB,QAAuB;AACvD,QAAI,EAAE,UAAU,iCAAiC,IAAI;AAGrD,QAAI,aAAa,QAAW;AACxB,YAAM,QAAQ,OAAO,iBAAiB,iBAAK,eAAe,OAAO,QAAQ;AACzE,iBAAW,MAAM,4BAAe,QAAQ,QAAQ,OAAO,UAAU,KAAK;AAAA,IAC1E;AAGA,QAAI,qCAAqC,QAAW;AAChD,yCAAmC,MAAM,OAAO;AAAA,QAC5C,OAAO;AAAA,QACP,qBAAM,WAAW,UAAU,CAAC;AAAA,QAC5B;AAAA,MACJ;AAAA,IACJ;AAEA,WAAO,IAAI,OAAO,QAAQ;AAAA,MACtB,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,SAA4B;AAC5B,UAAM,SAAS;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,UAAU,KAAK;AAAA,MACf,eAAe,KAAK;AAAA,MACpB,SAAS,KAAK,SAAS;AAAA,MACvB,cAAc,KAAK;AAAA,MACnB,UAAU,KAAK;AAAA,MACf,uBAAuB,KAAK;AAAA,MAC5B,kCAAkC,KAAK;AAAA,MACvC,oBAAoB,KAAK;AAAA,MACzB,iBAAiB,KAAK;AAAA,MACtB,0BAA0B,KAAK;AAAA,MAC/B,OAAO,KAAK;AAAA,IAChB;AAGA,IAAC,OAA+C,gBAAgB,qBAAM,WAAW,KAAK,UAAU,CAAC;AAEjG,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,QAAQ;AACR,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,SAAS,OAAe;AAC1B,QAAI,MAAM,WAAW,KAAK,MAAM,SAAS,IAAI;AACzC,YAAM,IAAI,mCAAoB,wDAAwD;AAAA,IAC1F;AACA,QAAI,KAAK,WAAW,OAAO;AACvB;AAAA,IACJ;AACA,SAAK,SAAS;AACd,UAAM,KAAK,QAAQ;AAAA,EACvB;AAAA,EAEA,IAAI,2BAA2B;AAC3B,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,6BACF,UACA,0BACA,MACF;AACE,QAAI,SAAS,UAAa,KAAK,uBAAuB,QAAW;AAC7D,YAAM,IAAI,4BAAe,oBAAoB,yCAAyC;AAAA,IAC1F;AAEA,QAAI,6BAA6B,QAAW;AACxC,UAAI,yBAAyB,eAAe,GAAG;AAC3C,aAAK,4BAA4B;AAAA,MACrC,WAAW,yBAAyB,eAAe,IAAI;AAEnD,aAAK,4BAA4B;AAAA,MACrC,OAAO;AACH,cAAM,IAAI,4BAAe,qBAAqB,wDAAwD;AAAA,MAC1G;AAAA,IACJ;AACA,QAAI,aAAa,QAAW;AACxB,WAAK,gBAAgB;AAAA,IACzB;AACA,QAAI,SAAS,QAAW;AACpB,UAAI,KAAK,eAAe,GAAG;AACvB,aAAK,QAAQ;AAAA,MACjB,OAAO;AACH,aAAK,QAAQ;AAAA,MACjB;AAAA,IACJ;AACA,WAAO;AAAA,MACH;AAAA,MACA,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IACT;AACA,UAAM,KAAK,QAAQ;AAAA,EACvB;AAAA,EAEA,IAAI,OAAO;AACP,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,gBAAgB;AAChB,QAAI,KAAK,mBAAmB,QAAW;AACnC,WAAK,iBAAiB,iBAAK,eAAe,KAAK,QAAQ;AAAA,IAC3D;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,eAAe;AACf,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,QAAQ,SAAyB;AACjC,SAAK,WAAW;AAChB,SAAK,QAAQ,UAAU;AAAA,EAC3B;AAAA,EAEA,IAAI,UAAsC;AACtC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,gBAAgB;AAChB,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,aAAa;AACb,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,KAAK,MAAa;AACd,WAAO,KAAK,OAAO,UAAU,KAAK,UAAU,IAAI;AAAA,EACpD;AAAA,EAEA,MAAM,kBAAkB,iBAAwB,oBAA4B;AACxE,QAAI,uBAAuB,UAAa,mBAAmB,eAAe,GAAG;AACzE,2BAAqB;AAAA,IACzB;AAIA,QAAI,uBAAuB,UAAa,qBAAM,SAAS,KAAK,UAAU,kBAAkB,GAAG;AACvF,aAAO,KAAK,6EAA6E;AACzF,2BAAqB;AAAA,IACzB;AAEA,UAAM,WAAW,iBAAK,QAAQ,KAAK,QAAQ;AAC3C,UAAM,UAAU,eAAI,QAAQ,eAAe;AAC3C,UAAM,UAAU,uBAAuB,SAAY,iBAAK,QAAQ,kBAAkB,IAAI;AACtF,QAAI,YAAY,QAAW;AAEvB,YAAM,QAAQ,OAAO,KAAK,SAAS,QAAQ;AAAA,IAC/C;AAEA,UAAM,QAAQ,OAAO,KAAK,SAAS,UAAU,OAAO;AAAA,EACxD;AAAA,EAEA,gCAAgC,UAAoB,eAAsB;AACtE,WAAO,KAAK,aAAa,YAAY,qBAAM,SAAS,KAAK,eAAe,aAAa;AAAA,EACzF;AAAA,EAEA,eAAe,SAAc;AACzB,WACI,qBAAM,SAAS,KAAK,SAAS,WAAW,QAAQ,SAAS,KACzD,qBAAM,SAAS,KAAK,SAAS,YAAY,QAAQ,UAAU;AAAA,EAEnE;AAAA,EAEA,cAAc,QAAgB,QAAe;AACzC,UAAM,SAAS,IAAI,0BAAW,sBAAO,MAAM;AAC3C,WAAO,eAAe,MAAM;AAC5B,WAAO,eAAe,KAAK,aAAa;AACxC,WAAO,YAAY,KAAK,QAAQ;AAChC,WAAO,YAAY,MAAM;AACzB,WAAO,OAAO,YAAY;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,wBAAwB,QAAgB,QAAe;AACzD,WAAO,KAAK,QAAQ,SAAS,KAAK,OAAO,QAAQ,gBAAgB,CAAC,EAAE,KAAK,KAAK,cAAc,QAAQ,MAAM,CAAC;AAAA,EAC/G;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,kBAAkB,QAAgB,QAAe;AACnD,UAAM,OAAO,KAAK,cAAc,QAAQ,MAAM;AAE9C,UAAM,iBAAiB,KAAK,OAAO,QAAQ,aAAa,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,MAAM,KAAK,QAAQ,SAAS,KAAK,IAAI,CAAC;AAC5G,WAAO,MAAM,QAAQ,IAAI,cAAc;AAAA,EAC3C;AAAA,EAEA,WAAW,SAAwB;AAC/B,SAAK,UAAU,IAAI,OAAO;AAAA,EAC9B;AAAA,EAEA,cAAc,SAAwB;AAClC,SAAK,UAAU,OAAO,OAAO;AAAA,EACjC;AAAA,EAEA,kBAAkB,YAAoB;AAClC,eAAW,WAAW,KAAK,WAAW;AAClC,UAAI,QAAQ,eAAe,YAAY;AACnC,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,IAAI,gBAAgB,UAAsD;AAEtE,SAAK,mBAAmB;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,MAAM,iBAAmC;AAC3C,UAAM,KAAK,SAAS,KAAK;AAEzB,eAAW,WAAW,CAAC,GAAG,KAAK,SAAS,GAAG;AACvC,YAAM,QAAQ,cAAc,YAAY;AACpC,cAAM,QAAQ,mBAAmB,IAAI;AAAA,MACzC,CAAC;AAAA,IACL;AAEA,UAAM,KAAK,OAAO,eAAe;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,MAAM,OAAO,iBAAmC;AAC5C,SAAK,cAAc;AAEnB,UAAM,KAAK,UAAU,KAAK;AAE1B,eAAW,WAAW,CAAC,GAAG,KAAK,SAAS,GAAG;AACvC,YAAM,QAAQ,mBAAmB,eAAe;AAAA,IACpD;AAEA,UAAM,KAAK,SAAS,KAAK;AAAA,EAC7B;AAAA,EAEA,QAAQ,WAAW,MAAM;AACrB,WAAO,KAAK,mBAAmB,QAAQ;AAAA,EAC3C;AAAA,EAEA,IAAI,sBAAgD;AAChD,WAAO;AAAA,MACH,aAAa,KAAK;AAAA,MAClB,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,cAAc,KAAK;AAAA,MACnB,OAAO,KAAK;AAAA,IAChB;AAAA,EACJ;AAAA,EAEA,UAAU,QAA6B;AACnC,eAAO,gCAAY,EAAE,aAAa,KAAK,aAAa,OAAO,CAAC;AAAA,EAChE;AAAA,EAEA,eAAe,SAAkB;AAC7B,yBAAQ,cAAc,OAAO;AAE7B,eAAO,gCAAY,EAAE,aAAa,KAAK,aAAa,QAAQ,oBAAO,YAAY,OAAO,EAAE,CAAC;AAAA,EAC7F;AACJ;AAEO,MAAM,cAAc;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EAET,YAAY,QAAgB,KAAiB;AACzC,SAAK,UAAU;AACf,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,aAAa,OAAO,QAAgB;AAChC,WAAO,IAAI,cAAc,QAAQ,MAAM,OAAO,cAAc,CAAC;AAAA,EACjE;AAAA,EAEA,IAAI,YAAY;AACZ,WAAO,KAAK,SAAS;AAAA,EACzB;AAAA,EAEA,IAAI,cAAc;AACd,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,kCAAkC;AAC9B,WAAO,+BAAY,gCAAgC,KAAK,SAAS,KAAK,QAAQ;AAAA,EAClF;AAAA,EAEA,MAAM,YAAY,UAAiB;AAC/B,UAAM,OAAO,iBAAK,QAAQ,QAAQ;AAClC,UAAM,KAAK,OAAO,KAAK,OAAO;AAC9B,SAAK,YAAY;AACjB,WAAO;AAAA,EACX;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,mBAAmB,iBAAwB,oBAA4B;AACzE,QAAI,uBAAuB,UAAa,mBAAmB,eAAe,GAAG;AACzE,2BAAqB;AAAA,IACzB;AACA,UAAM;AAAA,MACF,SAAS,EAAE,QAAQ,UAAU,sBAAsB;AAAA,MACnD;AAAA,IACJ,IAAI,eAAI,QAAQ,eAAe,EAAE;AACjC,WAAO;AAAA,MACH;AAAA,MACA,0BAAW,KAAK,EAAE,QAAQ,oBAAO,MAAM,MAAM,GAAG,UAAU,sBAAsB,CAAC;AAAA,IACrF;AACA,QAAI,0BAA0B,QAAW;AACrC,wCAAqB,mBAAmB,qBAAqB;AAAA,IACjE;AAEA,QAAI,CAAC,qBAAM,SAAS,wBAAwB,KAAK,SAAS,SAAS,GAAG;AAClE,YAAM,IAAI,eAAe,mDAAmD;AAAA,IAChF;AAEA,QAAI,KAAK,cAAc,QAAW;AAC9B,YAAM,IAAI,+BAAgB,wCAAwC;AAAA,IACtE;AAIA,QAAI,uBAAuB,UAAa,qBAAM,SAAS,KAAK,WAAW,kBAAkB,GAAG;AACxF,aAAO,KAAK,6EAA6E;AACzF,2BAAqB;AAAA,IACzB;AAEA,UAAM,WAAW,iBAAK,QAAQ,KAAK,SAAS;AAC5C,UAAM,UAAU,eAAI,QAAQ,eAAe;AAC3C,UAAM,UAAU,uBAAuB,SAAY,iBAAK,QAAQ,kBAAkB,IAAI;AACtF,QAAI,YAAY,QAAW;AACvB,YAAM,QAAQ,OAAO,KAAK,SAAS,QAAQ;AAAA,IAC/C;AACA,UAAM,QAAQ,OAAO,KAAK,SAAS,UAAU,OAAO;AAEpD,SAAK,mBAAmB;AACxB,SAAK,sBAAsB;AAC3B,SAAK,gBAAY,uBAAS,QAAQ;AAClC,SAAK,UAAU;AAEf,WAAO;AAAA,EACX;AAAA,EAEA,gBAAgB,cAAwB;AACpC,SAAK,gBAAgB;AACrB,WAAO;AAAA,EACX;AAAA,EAEA,cAAc,YAAoB;AAC9B,SAAK,cAAc;AACnB,WAAO;AAAA,EACX;AAAA,EAEA,yBAAyB,KAAY;AACjC,SAAK,yBAAyB;AAC9B,WAAO;AAAA,EACX;AAAA,EAEA,SAAS,OAAe;AACpB,QAAI,MAAM,WAAW,KAAK,MAAM,SAAS,IAAI;AACzC,YAAM,IAAI,mCAAoB,wDAAwD;AAAA,IAC1F;AACA,SAAK,SAAS;AACd,WAAO;AAAA,EACX;AAAA,EAEA,8BAA8B,QAAgB;AAC1C,SAAK,gBAAgB,OAAO;AAC5B,SAAK,cAAc,OAAO;AAC1B,SAAK,yBAAyB,OAAO;AACrC,SAAK,YAAY,OAAO;AACxB,SAAK,4BAA4B,OAAO;AACxC,SAAK,QAAQ,OAAO;AACpB,SAAK,SAAS,OAAO;AAAA,EACzB;AAAA,EAEA,IAAI,WAAW;AACX,QAAI,KAAK,cAAc,UAAa,KAAK,cAAc,QAAW;AAC9D,YAAM,IAAI,+BAAgB,8CAA8C;AAAA,IAC5E;AACA,WAAO,4BAAe,QAAQ,KAAK,SAAS,KAAK,WAAW,iBAAK,eAAe,KAAK,SAAS,CAAC;AAAA,EACnG;AAAA,EAEA,IAAI,SAAS;AACT,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,WAAW;AACX,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAU;AACV,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM,MAAM,aAA0B;AAClC,QAAI,KAAK,iBAAiB,OAAW,OAAM,IAAI,6BAAc,sCAAsC;AACnG,QAAI,KAAK,gBAAgB,OAAW,OAAM,IAAI,6BAAc,4BAA4B;AACxF,QAAI,KAAK,kBAAkB,OAAW,OAAM,IAAI,6BAAc,0BAA0B;AACxF,QAAI,KAAK,cAAc,OAAW,OAAM,IAAI,6BAAc,0BAA0B;AACpF,QAAI,KAAK,2BAA2B,OAAW,OAAM,IAAI,6BAAc,uCAAuC;AAC9G,QAAI,KAAK,qBAAqB,UAAa,KAAK,cAAc,UAAa,KAAK,YAAY;AACxF,YAAM,IAAI,6BAAc,iCAAiC;AAE7D,SAAK,eAAe;AAEpB,WAAO,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,MACrC,aAAa,KAAK;AAAA,MAClB,UAAU,KAAK;AAAA,MACf,QAAQ,KAAK;AAAA,MACb,YAAY,KAAK;AAAA,MACjB,SAAS,KAAK;AAAA,MACd,cAAc,KAAK;AAAA,MACnB,UAAU,KAAK;AAAA,MACf,uBAAuB,KAAK;AAAA;AAAA,MAC5B,oBAAoB,KAAK;AAAA,MACzB,iBAAiB,KAAK;AAAA,MACtB,0BAA0B,KAAK;AAAA,MAC/B,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,IAChB,CAAC;AAAA,EACL;AACJ;",
5
5
  "names": []
6
6
  }
@@ -40,9 +40,10 @@ export declare class FabricAuthority {
40
40
  */
41
41
  get ca(): CertificateAuthority;
42
42
  /**
43
- * Obtain the default fabric for this authority.
43
+ * Get the default fabric for this authority.
44
+ * When rotateNoc is true (the default), the NOC key pair is rotated once per runtime when the fabric already exists.
44
45
  */
45
- defaultFabric(config: FabricAuthorityConfiguration): Promise<Fabric>;
46
+ defaultFabric(config: FabricAuthorityConfiguration, rotateNoc?: boolean): Promise<Fabric>;
46
47
  /**
47
48
  * List all controlled fabrics.
48
49
  */
@@ -56,7 +57,7 @@ export declare class FabricAuthority {
56
57
  */
57
58
  hasControlOf(fabric: Fabric): boolean;
58
59
  /**
59
- * Create a new fabric under our control.
60
+ * Create new fabric under our control.
60
61
  */
61
62
  createFabric(config: FabricAuthorityConfiguration): Promise<Fabric>;
62
63
  static [Environmental.create](env: Environment): FabricAuthority;
@@ -1 +1 @@
1
- {"version":3,"file":"FabricAuthority.d.ts","sourceRoot":"","sources":["../../../src/fabric/FabricAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EACH,eAAe,EAEf,YAAY,EAEZ,WAAW,EACX,aAAa,EAGhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,oBAAoB,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED,eAAO,MAAM,uBAAuB,UAAmB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;;gBAMZ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,sBAAsB;IAUnD,IAAI,YAAY,kCAEf;IAED;;OAEG;IACH,IAAI,EAAE,yBAEL;IAED;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,4BAA4B;IAkBxD;;OAEG;IACH,IAAI,OAAO,aAEV;IAED;;OAEG;IACH,IAAI,WAAW,oCAEd;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,4BAA4B;IA0CvD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;CAQjD"}
1
+ {"version":3,"file":"FabricAuthority.d.ts","sourceRoot":"","sources":["../../../src/fabric/FabricAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EACH,eAAe,EAEf,YAAY,EAEZ,WAAW,EACX,aAAa,EAGhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvF,OAAO,EAAE,MAAM,EAAiB,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B,sFAAsF;IACtF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,WAAW,CAAC;IACxC,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC;IAClC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,EAAE,EAAE,oBAAoB,CAAC;IACzB,OAAO,EAAE,aAAa,CAAC;CAC1B;AAED,eAAO,MAAM,uBAAuB,UAAmB,CAAC;AAExD;;GAEG;AACH,qBAAa,eAAe;;gBAOZ,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,sBAAsB;IAUnD,IAAI,YAAY,kCAEf;IAED;;OAEG;IACH,IAAI,EAAE,yBAEL;IAED;;;OAGG;IACG,aAAa,CAAC,MAAM,EAAE,4BAA4B,EAAE,SAAS,UAAO;IAqB1E;;OAEG;IACH,IAAI,OAAO,aAEV;IAED;;OAEG;IACH,IAAI,WAAW,oCAEd;IAED;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM;IAI3B;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,4BAA4B;IAuEvD,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;CAQjD"}
@@ -23,6 +23,7 @@ __export(FabricAuthority_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(FabricAuthority_exports);
25
25
  var import_CertificateAuthority = require("#certificate/CertificateAuthority.js");
26
+ var import_Noc = require("#certificate/kinds/Noc.js");
26
27
  var import_general = require("#general");
27
28
  var import_types = require("#types");
28
29
  var import_Fabric = require("./Fabric.js");
@@ -39,6 +40,8 @@ class FabricAuthority {
39
40
  #ca;
40
41
  #fabrics;
41
42
  #fabricAdded = new import_general.AsyncObservable();
43
+ #rotatedFabricIndices = /* @__PURE__ */ new Set();
44
+ // Remember which we already rotated in this run
42
45
  constructor({ ca, fabrics }) {
43
46
  this.#ca = ca;
44
47
  this.#fabrics = fabrics;
@@ -57,12 +60,16 @@ class FabricAuthority {
57
60
  return this.#ca;
58
61
  }
59
62
  /**
60
- * Obtain the default fabric for this authority.
63
+ * Get the default fabric for this authority.
64
+ * When rotateNoc is true (the default), the NOC key pair is rotated once per runtime when the fabric already exists.
61
65
  */
62
- async defaultFabric(config) {
66
+ async defaultFabric(config, rotateNoc = true) {
63
67
  const caRootCert = this.#ca.rootCert;
64
- const fabric = this.fabrics.find((fabric2) => import_general.Bytes.areEqual(fabric2.rootCert, caRootCert));
68
+ let fabric = this.fabrics.find((fabric2) => import_general.Bytes.areEqual(fabric2.rootCert, caRootCert));
65
69
  if (fabric !== void 0) {
70
+ if (rotateNoc) {
71
+ fabric = await this.#rotateFabricNocKey(fabric);
72
+ }
66
73
  if (fabric.label !== config.adminFabricLabel) {
67
74
  await fabric.setLabel(config.adminFabricLabel);
68
75
  }
@@ -89,7 +96,7 @@ class FabricAuthority {
89
96
  return import_general.Bytes.areEqual(fabric.rootCert, this.#ca.rootCert);
90
97
  }
91
98
  /**
92
- * Create a new fabric under our control.
99
+ * Create new fabric under our control.
93
100
  */
94
101
  async createFabric(config) {
95
102
  const rootNodeId = config.adminNodeId ?? import_types.NodeId.randomOperationalNodeId(this.#fabrics.crypto);
@@ -120,6 +127,30 @@ class FabricAuthority {
120
127
  await this.#fabricAdded.emit(fabric);
121
128
  return fabric;
122
129
  }
130
+ async #rotateFabricNocKey(fabric) {
131
+ if (this.#rotatedFabricIndices.has(fabric.fabricIndex)) {
132
+ return fabric;
133
+ }
134
+ const builder = await import_Fabric.FabricBuilder.create(this.#fabrics.crypto);
135
+ builder.initializeFromFabricForUpdate(fabric);
136
+ const {
137
+ subject: { nodeId, fabricId, caseAuthenticatedTags }
138
+ } = import_Noc.Noc.fromTlv(fabric.operationalCert).cert;
139
+ if (nodeId !== fabric.rootNodeId) {
140
+ throw new import_general.ImplementationError(
141
+ `Cannot rotate NOC for fabric ${fabric.fabricIndex} because root node ID changed`
142
+ );
143
+ }
144
+ await builder.setOperationalCert(
145
+ await this.#ca.generateNoc(builder.publicKey, fabricId, nodeId, caseAuthenticatedTags),
146
+ fabric.intermediateCACert
147
+ );
148
+ const newFabric = await builder.build(fabric.fabricIndex);
149
+ logger.info(`Rotated NOC for fabric ${fabric.fabricIndex}`);
150
+ await this.#fabrics.replaceFabric(newFabric);
151
+ this.#rotatedFabricIndices.add(fabric.fabricIndex);
152
+ return newFabric;
153
+ }
123
154
  static [import_general.Environmental.create](env) {
124
155
  const instance = new FabricAuthority({
125
156
  ca: env.get(import_CertificateAuthority.CertificateAuthority),
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/fabric/FabricAuthority.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["fabric"]
6
6
  }
@@ -27,8 +27,24 @@ export declare class CertificateAuthority {
27
27
  #private;
28
28
  get crypto(): Crypto;
29
29
  get construction(): Construction<CertificateAuthority>;
30
- static create(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | CertificateAuthority.CreationConfiguration): Promise<CertificateAuthority>;
31
- constructor(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | CertificateAuthority.CreationConfiguration);
30
+ /**
31
+ * Creates a new CertificateAuthority instance and use the provided storage to store and retrieve the values.
32
+ * A new certificate is only created when the storage does not contain any credentials.
33
+ * Use the generateIntermediateCert parameter to specify if an ICAC should be created too. The parameter, when set,
34
+ * must match to the storage content if a certificate is stored!
35
+ */
36
+ static create(crypto: Crypto, storage: StorageContext, generateIntermediateCert?: boolean): Promise<CertificateAuthority>;
37
+ /**
38
+ * Creates a new CertificateAuthority instance with the provided configuration. The used certificate is loaded from
39
+ * the configuration object.
40
+ */
41
+ static create(crypto: Crypto, options: CertificateAuthority.Configuration): Promise<CertificateAuthority>;
42
+ /**
43
+ * Creates a new CertificateAuthority instance with the provided configuration. The configuration is not stored.
44
+ * Use the generateIntermediateCert parameter to specify if an ICAC should be created too.
45
+ */
46
+ static create(crypto: Crypto, generateIntermediateCert?: boolean): Promise<CertificateAuthority>;
47
+ constructor(crypto: Crypto, options?: StorageContext | CertificateAuthority.Configuration | boolean, generateIntermediateCert?: boolean);
32
48
  static [Environmental.create](env: Environment): CertificateAuthority;
33
49
  get rootCert(): Bytes;
34
50
  get icacCert(): Bytes | undefined;
@@ -36,16 +52,12 @@ export declare class CertificateAuthority {
36
52
  generateNoc(publicKey: Bytes, fabricId: FabricId, nodeId: NodeId, caseAuthenticatedTags?: CaseAuthenticatedTag[]): Promise<AllowSharedBufferSource>;
37
53
  }
38
54
  export declare namespace CertificateAuthority {
39
- type CreationConfiguration = {
40
- intermediateCert?: boolean;
41
- };
42
55
  type Configuration = {
43
56
  rootCertId: bigint;
44
57
  rootKeyPair: BinaryKeyPair;
45
58
  rootKeyIdentifier: Bytes;
46
59
  rootCertBytes: Bytes;
47
60
  nextCertificateId: bigint;
48
- intermediateCert?: boolean;
49
61
  icacCertId?: bigint;
50
62
  icacKeyPair?: BinaryKeyPair;
51
63
  icacKeyIdentifier?: Bytes;
@@ -57,7 +69,6 @@ export declare namespace CertificateAuthority {
57
69
  rootKeyIdentifier: Bytes;
58
70
  rootCertBytes: Bytes;
59
71
  nextCertificateId: bigint;
60
- intermediateCert?: boolean;
61
72
  icacCertId?: bigint;
62
73
  icacKeyPair?: BinaryKeyPair;
63
74
  icacKeyIdentifier?: Bytes;
@@ -1 +1 @@
1
- {"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EACb,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,aAAa,EAKb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB;;IAW7B,IAAI,MAAM,WAET;IAED,IAAI,YAAY,uCAEf;WAEY,MAAM,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,oBAAoB,CAAC,qBAAqB;gBAM1G,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,oBAAoB,CAAC,qBAAqB;IAkD9G,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C,IAAI,QAAQ,IAAI,KAAK,CAEpB;IAED,IAAI,QAAQ,IAAI,KAAK,GAAG,SAAS,CAKhC;IAED,IAAI,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAkB/C;IAgEK,WAAW,CACb,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,oBAAoB,EAAE;CA+HrD;AASD,yBAAiB,oBAAoB,CAAC;IAClC,KAAY,qBAAqB,GAAG;QAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IAEF,KAAY,aAAa,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;IAEF,KAAY,WAAW,GAAG;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;CACL"}
1
+ {"version":3,"file":"CertificateAuthority.d.ts","sourceRoot":"","sources":["../../../src/certificate/CertificateAuthority.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,aAAa,EACb,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,aAAa,EAKb,cAAc,EAKjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAQhE;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,oBAAoB;;IAU7B,IAAI,MAAM,WAET;IAED,IAAI,YAAY,uCAEf;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CACT,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,wBAAwB,CAAC,EAAE,OAAO,GACnC,OAAO,CAAC,oBAAoB,CAAC;IAEhC;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,CAAC,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAEzG;;;OAGG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,wBAAwB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBAW5F,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC,aAAa,GAAG,OAAO,EACvE,wBAAwB,CAAC,EAAE,OAAO;IA6CtC,MAAM,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,WAAW;IAO9C,IAAI,QAAQ,IAAI,KAAK,CAEpB;IAED,IAAI,QAAQ,IAAI,KAAK,GAAG,SAAS,CAKhC;IAED,IAAI,MAAM,IAAI,oBAAoB,CAAC,aAAa,CAgB/C;IAgEK,WAAW,CACb,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,CAAC,EAAE,oBAAoB,EAAE;CAqIrD;AASD,yBAAiB,oBAAoB,CAAC;IAClC,KAAY,aAAa,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;IAEF,KAAY,WAAW,GAAG;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,aAAa,CAAC;QAC3B,iBAAiB,EAAE,KAAK,CAAC;QACzB,aAAa,EAAE,KAAK,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,iBAAiB,CAAC,EAAE,KAAK,CAAC;QAC1B,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB,CAAC;CACL"}