@camstack/system 1.2.474 → 1.2.476

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 (91) hide show
  1. package/dist/{agent-https-DRwEbLL7.js → agent-https-DkXBXEvz.js} +8 -8
  2. package/dist/{agent-https-CbczsyM0.mjs → agent-https-vpf_D97z.mjs} +8 -8
  3. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.js +1 -1
  4. package/dist/builtins/addon-pages-aggregator/addon-pages-aggregator.addon.mjs +1 -1
  5. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.js +1 -1
  6. package/dist/builtins/addon-widgets-aggregator/addon-widgets-aggregator.addon.mjs +1 -1
  7. package/dist/builtins/alerts/alerts.addon.js +1 -1
  8. package/dist/builtins/alerts/alerts.addon.mjs +1 -1
  9. package/dist/builtins/autotrack/index.js +1 -1
  10. package/dist/builtins/autotrack/index.mjs +1 -1
  11. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.js +2 -2
  12. package/dist/builtins/backup-orchestrator/backup-orchestrator.addon.mjs +2 -2
  13. package/dist/builtins/calendars/calendars.addon.js +1 -1
  14. package/dist/builtins/calendars/calendars.addon.mjs +1 -1
  15. package/dist/builtins/camera-grid/index.js +1 -1
  16. package/dist/builtins/camera-grid/index.mjs +1 -1
  17. package/dist/builtins/composer/composer-live-set.d.ts +9 -1
  18. package/dist/builtins/composer/composer.addon.js +130 -11
  19. package/dist/builtins/composer/composer.addon.mjs +130 -11
  20. package/dist/builtins/composer/composer.d.ts +8 -1
  21. package/dist/builtins/composer/composition-runtime.d.ts +2 -0
  22. package/dist/builtins/composer/composition-target.d.ts +6 -0
  23. package/dist/builtins/composer/owned-fields-target.d.ts +9 -0
  24. package/dist/builtins/console-logging/index.js +1 -1
  25. package/dist/builtins/console-logging/index.mjs +1 -1
  26. package/dist/builtins/core-blocks/block-supervisor.d.ts +19 -1
  27. package/dist/builtins/core-blocks/composition-api.d.ts +7 -1
  28. package/dist/builtins/core-blocks/core-blocks.addon.js +108 -10
  29. package/dist/builtins/core-blocks/core-blocks.addon.mjs +108 -10
  30. package/dist/builtins/device-history/device-history.addon.js +1 -1
  31. package/dist/builtins/device-history/device-history.addon.mjs +1 -1
  32. package/dist/builtins/device-manager/device-manager.addon.js +1 -1
  33. package/dist/builtins/device-manager/device-manager.addon.mjs +1 -1
  34. package/dist/builtins/hub-forwarder/index.js +1 -1
  35. package/dist/builtins/hub-forwarder/index.mjs +1 -1
  36. package/dist/builtins/keychain/index.js +3 -3
  37. package/dist/builtins/keychain/index.mjs +3 -3
  38. package/dist/builtins/liveness-monitor/liveness-monitor.addon.js +1 -1
  39. package/dist/builtins/liveness-monitor/liveness-monitor.addon.mjs +1 -1
  40. package/dist/builtins/local-auth/local-auth.addon.js +2 -2
  41. package/dist/builtins/local-auth/local-auth.addon.mjs +2 -2
  42. package/dist/builtins/local-network/local-network.addon.js +2 -2
  43. package/dist/builtins/local-network/local-network.addon.mjs +2 -2
  44. package/dist/builtins/loki-logging/index.js +1 -1
  45. package/dist/builtins/loki-logging/index.mjs +1 -1
  46. package/dist/builtins/native-metrics/native-metrics.addon.js +1 -1
  47. package/dist/builtins/native-metrics/native-metrics.addon.mjs +1 -1
  48. package/dist/builtins/platform-probe/index.js +1 -1
  49. package/dist/builtins/platform-probe/index.mjs +1 -1
  50. package/dist/builtins/record-entries/index.js +1 -1
  51. package/dist/builtins/record-entries/index.mjs +1 -1
  52. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.js +1 -1
  53. package/dist/builtins/remote-access-orchestrator/remote-access-orchestrator.addon.mjs +1 -1
  54. package/dist/builtins/snapshot/index.js +1 -1
  55. package/dist/builtins/snapshot/index.mjs +1 -1
  56. package/dist/builtins/sqlite-storage/filesystem-storage.addon.js +1 -1
  57. package/dist/builtins/sqlite-storage/filesystem-storage.addon.mjs +1 -1
  58. package/dist/builtins/sqlite-storage/index.js +1 -1
  59. package/dist/builtins/sqlite-storage/index.mjs +1 -1
  60. package/dist/builtins/sqlite-storage/sqlite-settings.addon.js +2 -2
  61. package/dist/builtins/sqlite-storage/sqlite-settings.addon.mjs +2 -2
  62. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.js +1 -1
  63. package/dist/builtins/storage-orchestrator/storage-orchestrator.addon.mjs +1 -1
  64. package/dist/builtins/system-config/system-config.addon.js +8 -8
  65. package/dist/builtins/system-config/system-config.addon.mjs +8 -8
  66. package/dist/builtins/winston-logging/index.js +1 -1
  67. package/dist/builtins/winston-logging/index.mjs +1 -1
  68. package/dist/{composition-sources-CsBIIit3.mjs → composition-sources-B5nK7pHt.mjs} +1 -1
  69. package/dist/{composition-sources-CJv3W669.js → composition-sources-BNOP9mFp.js} +1 -1
  70. package/dist/{constants-C0hrXcEr.js → constants-D4VigrMM.js} +1 -1
  71. package/dist/{constants-Dy8CaDeT.mjs → constants-jbhoFV7w.mjs} +1 -1
  72. package/dist/{device-ca-CHdsePe5.mjs → device-ca-CvBZeyVX.mjs} +14 -13
  73. package/dist/{device-ca-Dg3rSU48.js → device-ca-DhyQeXsa.js} +14 -13
  74. package/dist/{dist-BugavoVR.mjs → dist-B_V9r61Z.mjs} +433 -22
  75. package/dist/{dist-Sn-HiZ4e.js → dist-CNU7cdFf.js} +433 -22
  76. package/dist/file-host-worker.js +1 -1
  77. package/dist/file-host-worker.mjs +1 -1
  78. package/dist/{hub-mdns-ciao-BDvqGIw4.mjs → hub-mdns-ciao-BuUg0gpI.mjs} +4 -4
  79. package/dist/{hub-mdns-ciao-DkncLbg9.js → hub-mdns-ciao-DFidf52M.js} +4 -4
  80. package/dist/index.js +7 -7
  81. package/dist/index.mjs +7 -7
  82. package/dist/{lib-8oZrELLm.js → lib-C3U1yluo.js} +1 -1
  83. package/dist/{lib-DK38ompL.mjs → lib-DFZblCIu.mjs} +1 -1
  84. package/dist/{restore-archive-gYKzaJ4Y.js → restore-archive-BtCheeWu.js} +1 -1
  85. package/dist/{restore-archive-CFBm30Gk.mjs → restore-archive-CDo4Zlmx.mjs} +1 -1
  86. package/dist/tls/cert-utc-time.d.ts +1 -0
  87. package/dist/{wal-maintenance-DyMUz_Hy.js → wal-maintenance-B7xBeIFi.js} +0 -0
  88. package/dist/{wal-maintenance-BnhkcEkI.mjs → wal-maintenance-DItlr0Yu.mjs} +0 -0
  89. package/dist/{x509.es-DK__ETIe.mjs → x509.es-BRiJgOvu.mjs} +24 -1
  90. package/dist/{x509.es-C4cOo48M.js → x509.es-WtnRNyYS.js} +29 -0
  91. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import { a as __toCommonJS, i as __require, n as __esmMin, o as __toESM, r as __exportAll, t as __commonJSMin } from "../../chunk-CNf5ZN-e.mjs";
2
- import { $i as hydrateSchema, Gi as customAction, Ki as defineCustomActions, br as shortHostname, ct as ServerNameSchema, ei as errMsg, ti as BaseAddon } from "../../dist-BugavoVR.mjs";
2
+ import { $i as hydrateSchema, Gi as customAction, Ki as defineCustomActions, br as shortHostname, ct as ServerNameSchema, ei as errMsg, ti as BaseAddon } from "../../dist-B_V9r61Z.mjs";
3
3
  import { t as require_safe_buffer } from "../../safe-buffer-B1OjL1I9.mjs";
4
- import { S as backdatedNotBefore, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension } from "../../x509.es-DK__ETIe.mjs";
5
- import { B as setProcessAgentHttpsNames, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, R as AgentHttpsNames, V as systemConfigRecordKinds, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-CbczsyM0.mjs";
6
- import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-Dy8CaDeT.mjs";
4
+ import { C as backdatedNotBefore, S as withUtcTimeEncoding, a as KeyUsageFlags, c as Pkcs10CertificateRequest, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, l as Pkcs10CertificateRequestGenerator, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension } from "../../x509.es-BRiJgOvu.mjs";
5
+ import { B as setProcessAgentHttpsNames, I as AGENT_HTTPS_NAMES_COLLECTION, L as AGENT_HTTPS_NAMES_COLUMNS, M as isLocalOnlyHostname, R as AgentHttpsNames, V as systemConfigRecordKinds, u as isPrivateAddress, z as getProcessAgentHttpsNames } from "../../agent-https-vpf_D97z.mjs";
6
+ import { a as MESH_CA_KEY_REF, c as SERVER_AUTH_OID, i as MESH_CA_FIELD, n as DEFAULT_HUB_TLS_TCP_PORT, o as MESH_CA_SETTINGS_KEY, r as MESH_CA_COMMON_NAME, s as MESH_CA_VALIDITY_DAYS, t as CLIENT_AUTH_OID } from "../../constants-jbhoFV7w.mjs";
7
7
  import { t as require_src } from "../../src-hG4grMU4.mjs";
8
8
  import { z } from "zod";
9
9
  import { X509Certificate, createHash, createPrivateKey, randomBytes, randomInt, sign, timingSafeEqual, verify, webcrypto } from "node:crypto";
@@ -345,7 +345,7 @@ async function generateMeshCa(now = /* @__PURE__ */ new Date()) {
345
345
  new KeyUsagesExtension(KeyUsageFlags.keyCertSign | KeyUsageFlags.cRLSign, true),
346
346
  await SubjectKeyIdentifierExtension.create(keys.publicKey)
347
347
  ];
348
- const cert = await X509CertificateGenerator.createSelfSigned({
348
+ const cert = await withUtcTimeEncoding(() => X509CertificateGenerator.createSelfSigned({
349
349
  serialNumber: freshSerial(),
350
350
  name: `CN=${MESH_CA_COMMON_NAME}`,
351
351
  notBefore: backdatedNotBefore(now),
@@ -353,7 +353,7 @@ async function generateMeshCa(now = /* @__PURE__ */ new Date()) {
353
353
  keys,
354
354
  signingAlgorithm: MESH_SIGNING_ALGORITHM,
355
355
  extensions
356
- });
356
+ }));
357
357
  return {
358
358
  certPem: toCertPem(cert),
359
359
  keyPem: await exportKeyPem(keys.privateKey),
@@ -395,7 +395,7 @@ async function issueMeshLeafFromCsr(ca, csrPem, opts = {}) {
395
395
  await AuthorityKeyIdentifierExtension.create(ca.cert)
396
396
  ];
397
397
  return {
398
- certPem: toCertPem(await X509CertificateGenerator.create({
398
+ certPem: toCertPem(await withUtcTimeEncoding(() => X509CertificateGenerator.create({
399
399
  serialNumber,
400
400
  subject: `CN=${cn}`,
401
401
  issuer: ca.cert.subject,
@@ -405,7 +405,7 @@ async function issueMeshLeafFromCsr(ca, csrPem, opts = {}) {
405
405
  signingKey: ca.privateKey,
406
406
  signingAlgorithm: MESH_SIGNING_ALGORITHM,
407
407
  extensions
408
- })),
408
+ }))),
409
409
  serialNumber,
410
410
  notAfter,
411
411
  commonName: cn
@@ -3,7 +3,7 @@ Object.defineProperties(exports, {
3
3
  [Symbol.toStringTag]: { value: "Module" }
4
4
  });
5
5
  const require_chunk = require("../../chunk-Cek0wNdY.js");
6
- const require_dist = require("../../dist-Sn-HiZ4e.js");
6
+ const require_dist = require("../../dist-CNU7cdFf.js");
7
7
  const require_formatter = require("../../formatter-DqAKDlvN.js");
8
8
  const require_log_file_read_protocol = require("../../log-file-read-protocol-D0WcLbIV.js");
9
9
  let node_path = require("node:path");
@@ -1,4 +1,4 @@
1
- import { Ln as logDestinationCapability, ti as BaseAddon } from "../../dist-BugavoVR.mjs";
1
+ import { Ln as logDestinationCapability, ti as BaseAddon } from "../../dist-B_V9r61Z.mjs";
2
2
  import { t as formatLogLine } from "../../formatter-B7qW8bPJ.mjs";
3
3
  import { a as LogFileIndexStore, i as serveRead, n as isFromReader, t as CancelBook } from "../../log-file-read-protocol-B7M3X3bT.mjs";
4
4
  import { createRequire } from "node:module";
@@ -1,4 +1,4 @@
1
- import { ei as errMsg, qr as compositionSourceKey } from "./dist-BugavoVR.mjs";
1
+ import { ei as errMsg, qr as compositionSourceKey } from "./dist-B_V9r61Z.mjs";
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,4 +1,4 @@
1
- const require_dist = require("./dist-Sn-HiZ4e.js");
1
+ const require_dist = require("./dist-CNU7cdFf.js");
2
2
  //#region src/builtins/core-blocks/composition-sources.ts
3
3
  /**
4
4
  * Describe what a composition reads and writes for SAVE-time validation
@@ -1,5 +1,5 @@
1
1
  /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
2
- var MESH_CA_KEY_REF = require("./dist-Sn-HiZ4e.js").buildSecretRef({
2
+ var MESH_CA_KEY_REF = require("./dist-CNU7cdFf.js").buildSecretRef({
3
3
  owner: "system",
4
4
  scope: { kind: "global" },
5
5
  fieldPath: "meshCaKey"
@@ -1,4 +1,4 @@
1
- import { zi as buildSecretRef } from "./dist-BugavoVR.mjs";
1
+ import { zi as buildSecretRef } from "./dist-B_V9r61Z.mjs";
2
2
  /** `secret://system/global/meshCaKey` — EC P-256 PKCS#8 PEM of the hub mesh CA. */
3
3
  var MESH_CA_KEY_REF = buildSecretRef({
4
4
  owner: "system",
@@ -1,5 +1,5 @@
1
- import { A as DEVICE_SAN_USER_PREFIX, k as DEVICE_SAN_CREDENTIAL_PREFIX, zi as buildSecretRef } from "./dist-BugavoVR.mjs";
2
- import { S as backdatedNotBefore, a as KeyUsageFlags, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension } from "./x509.es-DK__ETIe.mjs";
1
+ import { A as DEVICE_SAN_USER_PREFIX, k as DEVICE_SAN_CREDENTIAL_PREFIX, zi as buildSecretRef } from "./dist-B_V9r61Z.mjs";
2
+ import { C as backdatedNotBefore, S as withUtcTimeEncoding, a as KeyUsageFlags, d as SubjectKeyIdentifierExtension, f as X509Certificate$1, m as cryptoProvider, n as BasicConstraintsExtension, o as KeyUsagesExtension, p as X509CertificateGenerator, r as ExtendedKeyUsageExtension, s as PemConverter, t as AuthorityKeyIdentifierExtension, u as SubjectAlternativeNameExtension } from "./x509.es-BRiJgOvu.mjs";
3
3
  import { X509Certificate, createPublicKey, randomBytes, verify, webcrypto } from "node:crypto";
4
4
  //#region src/auth/jwt-signing-key.ts
5
5
  /**
@@ -171,7 +171,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
171
171
  new KeyUsagesExtension(KeyUsageFlags.keyCertSign | KeyUsageFlags.cRLSign, true),
172
172
  await SubjectKeyIdentifierExtension.create(keys.publicKey)
173
173
  ];
174
- const cert = await X509CertificateGenerator.createSelfSigned({
174
+ const cert = await withUtcTimeEncoding(() => X509CertificateGenerator.createSelfSigned({
175
175
  serialNumber: freshSerial(),
176
176
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
177
177
  notBefore: backdatedNotBefore(now),
@@ -179,7 +179,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
179
179
  keys,
180
180
  signingAlgorithm: SIGNING_ALGORITHM,
181
181
  extensions
182
- });
182
+ }));
183
183
  const pkcs8 = await webcrypto.subtle.exportKey("pkcs8", keys.privateKey);
184
184
  return {
185
185
  certPem: certPemOf(cert),
@@ -211,7 +211,12 @@ async function rebuildDeviceCaCertificate(keyPem) {
211
211
  y: jwk.y
212
212
  }, KEY_ALGORITHM, true, ["verify"]);
213
213
  const now = /* @__PURE__ */ new Date();
214
- const cert = await X509CertificateGenerator.createSelfSigned({
214
+ const extensions = [
215
+ new BasicConstraintsExtension(true, 0, true),
216
+ new KeyUsagesExtension(KeyUsageFlags.keyCertSign | KeyUsageFlags.cRLSign, true),
217
+ await SubjectKeyIdentifierExtension.create(publicKey)
218
+ ];
219
+ const cert = await withUtcTimeEncoding(() => X509CertificateGenerator.createSelfSigned({
215
220
  serialNumber: freshSerial(),
216
221
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
217
222
  notBefore: backdatedNotBefore(now),
@@ -221,12 +226,8 @@ async function rebuildDeviceCaCertificate(keyPem) {
221
226
  publicKey
222
227
  },
223
228
  signingAlgorithm: SIGNING_ALGORITHM,
224
- extensions: [
225
- new BasicConstraintsExtension(true, 0, true),
226
- new KeyUsagesExtension(KeyUsageFlags.keyCertSign | KeyUsageFlags.cRLSign, true),
227
- await SubjectKeyIdentifierExtension.create(publicKey)
228
- ]
229
- });
229
+ extensions
230
+ }));
230
231
  return {
231
232
  certPem: certPemOf(cert),
232
233
  keyPem,
@@ -262,7 +263,7 @@ async function issueDeviceLeaf(ca, input) {
262
263
  await SubjectKeyIdentifierExtension.create(publicKey),
263
264
  await AuthorityKeyIdentifierExtension.create(ca.cert)
264
265
  ];
265
- const pem = certPemOf(await X509CertificateGenerator.create({
266
+ const pem = certPemOf(await withUtcTimeEncoding(() => X509CertificateGenerator.create({
266
267
  serialNumber,
267
268
  subject: `CN=${input.credentialId}`,
268
269
  issuer: ca.cert.subject,
@@ -272,7 +273,7 @@ async function issueDeviceLeaf(ca, input) {
272
273
  signingKey: ca.privateKey,
273
274
  signingAlgorithm: SIGNING_ALGORITHM,
274
275
  extensions
275
- }));
276
+ })));
276
277
  return {
277
278
  certPem: pem,
278
279
  serialNumber,
@@ -1,5 +1,5 @@
1
- const require_dist = require("./dist-Sn-HiZ4e.js");
2
- const require_x509_es = require("./x509.es-C4cOo48M.js");
1
+ const require_dist = require("./dist-CNU7cdFf.js");
2
+ const require_x509_es = require("./x509.es-WtnRNyYS.js");
3
3
  let node_crypto = require("node:crypto");
4
4
  //#region src/auth/jwt-signing-key.ts
5
5
  /**
@@ -171,7 +171,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
171
171
  new require_x509_es.KeyUsagesExtension(require_x509_es.KeyUsageFlags.keyCertSign | require_x509_es.KeyUsageFlags.cRLSign, true),
172
172
  await require_x509_es.SubjectKeyIdentifierExtension.create(keys.publicKey)
173
173
  ];
174
- const cert = await require_x509_es.X509CertificateGenerator.createSelfSigned({
174
+ const cert = await require_x509_es.withUtcTimeEncoding(() => require_x509_es.X509CertificateGenerator.createSelfSigned({
175
175
  serialNumber: freshSerial(),
176
176
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
177
177
  notBefore: require_x509_es.backdatedNotBefore(now),
@@ -179,7 +179,7 @@ async function generateDeviceCa(now = /* @__PURE__ */ new Date()) {
179
179
  keys,
180
180
  signingAlgorithm: SIGNING_ALGORITHM,
181
181
  extensions
182
- });
182
+ }));
183
183
  const pkcs8 = await node_crypto.webcrypto.subtle.exportKey("pkcs8", keys.privateKey);
184
184
  return {
185
185
  certPem: certPemOf(cert),
@@ -211,7 +211,12 @@ async function rebuildDeviceCaCertificate(keyPem) {
211
211
  y: jwk.y
212
212
  }, KEY_ALGORITHM, true, ["verify"]);
213
213
  const now = /* @__PURE__ */ new Date();
214
- const cert = await require_x509_es.X509CertificateGenerator.createSelfSigned({
214
+ const extensions = [
215
+ new require_x509_es.BasicConstraintsExtension(true, 0, true),
216
+ new require_x509_es.KeyUsagesExtension(require_x509_es.KeyUsageFlags.keyCertSign | require_x509_es.KeyUsageFlags.cRLSign, true),
217
+ await require_x509_es.SubjectKeyIdentifierExtension.create(publicKey)
218
+ ];
219
+ const cert = await require_x509_es.withUtcTimeEncoding(() => require_x509_es.X509CertificateGenerator.createSelfSigned({
215
220
  serialNumber: freshSerial(),
216
221
  name: `CN=${DEVICE_CA_COMMON_NAME}`,
217
222
  notBefore: require_x509_es.backdatedNotBefore(now),
@@ -221,12 +226,8 @@ async function rebuildDeviceCaCertificate(keyPem) {
221
226
  publicKey
222
227
  },
223
228
  signingAlgorithm: SIGNING_ALGORITHM,
224
- extensions: [
225
- new require_x509_es.BasicConstraintsExtension(true, 0, true),
226
- new require_x509_es.KeyUsagesExtension(require_x509_es.KeyUsageFlags.keyCertSign | require_x509_es.KeyUsageFlags.cRLSign, true),
227
- await require_x509_es.SubjectKeyIdentifierExtension.create(publicKey)
228
- ]
229
- });
229
+ extensions
230
+ }));
230
231
  return {
231
232
  certPem: certPemOf(cert),
232
233
  keyPem,
@@ -262,7 +263,7 @@ async function issueDeviceLeaf(ca, input) {
262
263
  await require_x509_es.SubjectKeyIdentifierExtension.create(publicKey),
263
264
  await require_x509_es.AuthorityKeyIdentifierExtension.create(ca.cert)
264
265
  ];
265
- const pem = certPemOf(await require_x509_es.X509CertificateGenerator.create({
266
+ const pem = certPemOf(await require_x509_es.withUtcTimeEncoding(() => require_x509_es.X509CertificateGenerator.create({
266
267
  serialNumber,
267
268
  subject: `CN=${input.credentialId}`,
268
269
  issuer: ca.cert.subject,
@@ -272,7 +273,7 @@ async function issueDeviceLeaf(ca, input) {
272
273
  signingKey: ca.privateKey,
273
274
  signingAlgorithm: SIGNING_ALGORITHM,
274
275
  extensions
275
- }));
276
+ })));
276
277
  return {
277
278
  certPem: pem,
278
279
  serialNumber,