camera.ui3 0.0.31-alpha.8 → 0.0.31

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 (181) hide show
  1. package/dist/interface/@intlify.8z0ZxsCR.0.0.31-alpha.9.js +15 -0
  2. package/dist/interface/{@mdi.DVdKciOk.0.0.31-alpha.8.js → @mdi.CBFP0hLg.0.0.31-alpha.9.js} +1 -1
  3. package/dist/interface/{@tanstack.BPW2rCwU.0.0.31-alpha.8.js → @tanstack.Btgptvlr.0.0.31-alpha.9.js} +1 -1
  4. package/dist/interface/{@vee-validate.C-s-wFJX.0.0.31-alpha.8.js → @vee-validate.D1idmuLl.0.0.31-alpha.9.js} +1 -1
  5. package/dist/interface/@vue.DSpVzvLE.0.0.31-alpha.9.js +17 -0
  6. package/dist/interface/{@vueform.VqArm0e2.0.0.31-alpha.8.js → @vueform.DRS8F1ON.0.0.31-alpha.9.js} +1 -1
  7. package/dist/interface/{@vueuse.BQIKH1Yj.0.0.31-alpha.8.js → @vueuse.lQHIM9Ji.0.0.31-alpha.9.js} +1 -1
  8. package/dist/interface/Account.CWYwYkAb.0.0.31-alpha.9.js +1 -0
  9. package/dist/interface/Adminpanel.Dn_K3XUd.0.0.31-alpha.9.js +2 -0
  10. package/dist/interface/Appearance.DLb__Sif.0.0.31-alpha.9.js +1 -0
  11. package/dist/interface/Backup.Dt3JgVrT.0.0.31-alpha.9.js +1 -0
  12. package/dist/interface/Camera.4AeJvhsq.0.0.31-alpha.9.js +1 -0
  13. package/dist/interface/Cameras.CGeE3KOM.0.0.31-alpha.9.js +1 -0
  14. package/dist/interface/Camview.sGBSah9x.0.0.31-alpha.9.js +1 -0
  15. package/dist/interface/Config.Bv2WgErD.0.0.31-alpha.9.js +1 -0
  16. package/dist/interface/Console.DGg2Jq9h.0.0.31-alpha.9.js +4 -0
  17. package/dist/interface/FirstSteps.DvByehg0.0.0.31-alpha.9.js +1 -0
  18. package/dist/interface/{NewCamera.CIfiV-2N.0.0.31-alpha.8.js → NewCamera.BIyRmkan.0.0.31-alpha.9.js} +2 -2
  19. package/dist/interface/Plugin.DcUILrgC.0.0.31-alpha.9.js +1 -0
  20. package/dist/interface/Plugins.vo7Mx2j4.0.0.31-alpha.9.js +1 -0
  21. package/dist/interface/Recordings.CJUoi8qm.0.0.31-alpha.9.js +1 -0
  22. package/dist/interface/Recordings.N4AMYLOy.0.0.31-alpha.9.js +1 -0
  23. package/dist/interface/Settings.D8b47k9p.0.0.31-alpha.9.js +1 -0
  24. package/dist/interface/System.otwybl-J.0.0.31-alpha.9.js +4 -0
  25. package/dist/interface/User.BtRFc2QZ.0.0.31-alpha.9.js +1 -0
  26. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.Bm7bwzZD.0.0.31-alpha.8.js → VConfigEditor.vue_vue_type_script_setup_true_lang.BMJS_7ZD.0.0.31-alpha.9.js} +2 -2
  27. package/dist/interface/{VConsole.D8TuBuNM.0.0.31-alpha.8.js → VConsole.CuO-3hA4.0.0.31-alpha.9.js} +1 -1
  28. package/dist/interface/VPlayer.Dqk3IaYl.0.0.31-alpha.9.js +1 -0
  29. package/dist/interface/{VPluginCard.BbWmBV-O.0.0.31-alpha.8.js → VPluginCard.DI974_rR.0.0.31-alpha.9.js} +1 -1
  30. package/dist/interface/{ace-builds.DcYU6PAK.0.0.31-alpha.8.js → ace-builds.SJlMp9cD.0.0.31-alpha.9.js} +1 -1
  31. package/dist/interface/{apexcharts.Y-wl0V0j.0.0.31-alpha.8.js → apexcharts.COeUheTz.0.0.31-alpha.9.js} +1 -1
  32. package/dist/interface/assets/{Camera.0.0.31-alpha.8.BDtUJ-lA.css → Camera.0.0.31-alpha.9.Dz_0ZY4W.css} +1 -1
  33. package/dist/interface/assets/{VPlayer.0.0.31-alpha.8.DL-vUJg6.css → VPlayer.0.0.31-alpha.9.hKi0NXFe.css} +1 -1
  34. package/dist/interface/assets/{main.0.0.31-alpha.8.BDUD-PYj.css → main.0.0.31-alpha.9.ZRChory7.css} +1 -1
  35. package/dist/interface/{dnd-core.wIW6M0xq.0.0.31-alpha.8.js → dnd-core.C-BrWt9e.0.0.31-alpha.9.js} +1 -1
  36. package/dist/interface/{draggabilly.G6od8cio.0.0.31-alpha.8.js → draggabilly.BVQCUu31.0.0.31-alpha.9.js} +1 -1
  37. package/dist/interface/engine.io-client.BzMoog8q.0.0.31-alpha.9.js +1 -0
  38. package/dist/interface/{ev-emitter.BaMrwZMZ.0.0.31-alpha.8.js → ev-emitter.DdqYF_mT.0.0.31-alpha.9.js} +1 -1
  39. package/dist/interface/{fast-deep-equal.DYOzFUwK.0.0.31-alpha.8.js → fast-deep-equal.CAY2EWVV.0.0.31-alpha.9.js} +1 -1
  40. package/dist/interface/{highlight.js.CO4jGChS.0.0.31-alpha.8.js → highlight.js.DyqKEn5l.0.0.31-alpha.9.js} +1 -1
  41. package/dist/interface/index.html +33 -34
  42. package/dist/interface/{linkify-it.Cr14tyhK.0.0.31-alpha.8.js → linkify-it.D_VrFIEs.0.0.31-alpha.9.js} +1 -1
  43. package/dist/interface/main.-w4XIAj8.0.0.31-alpha.9.js +4 -0
  44. package/dist/interface/{markdown-it.BArd8aY1.0.0.31-alpha.8.js → markdown-it.CKLQdOwp.0.0.31-alpha.9.js} +1 -1
  45. package/dist/interface/{nprogress.Hu_nc7WL.0.0.31-alpha.8.js → nprogress.B9kF5yPN.0.0.31-alpha.9.js} +1 -1
  46. package/dist/interface/{pinia.D3Zpjpa5.0.0.31-alpha.8.js → pinia.CMvEC38j.0.0.31-alpha.9.js} +1 -1
  47. package/dist/interface/{plugins.ixDTjWdS.0.0.31-alpha.8.js → plugins.bQCZbo8M.0.0.31-alpha.9.js} +1 -1
  48. package/dist/interface/{qrcode.BV7gJCvJ.0.0.31-alpha.8.js → qrcode.nk05XZUk.0.0.31-alpha.9.js} +1 -1
  49. package/dist/interface/{react-dnd-touch-backend.j_XcJk8c.0.0.31-alpha.8.js → react-dnd-touch-backend.9gsCxBRV.0.0.31-alpha.9.js} +1 -1
  50. package/dist/interface/{rxjs.CA80LPoF.0.0.31-alpha.8.js → rxjs.O8rqJXmX.0.0.31-alpha.9.js} +1 -1
  51. package/dist/interface/socket.io-client.HSZfpHWX.0.0.31-alpha.9.js +1 -0
  52. package/dist/interface/{socket.io-parser.B0nOKHJa.0.0.31-alpha.8.js → socket.io-parser.CDdrp6JV.0.0.31-alpha.9.js} +1 -1
  53. package/dist/interface/sw.js +1 -1
  54. package/dist/interface/{system.4JYUmYez.0.0.31-alpha.8.js → system.Bg0Mnh8C.0.0.31-alpha.9.js} +1 -1
  55. package/dist/interface/{unidragger.DjheScL0.0.0.31-alpha.8.js → unidragger.Du7VJMKS.0.0.31-alpha.9.js} +1 -1
  56. package/dist/interface/{v-calendar.DIUyVfpL.0.0.31-alpha.8.js → v-calendar.C6y6UX0U.0.0.31-alpha.9.js} +1 -1
  57. package/dist/interface/{vee-validate.B4KR-LJb.0.0.31-alpha.8.js → vee-validate.EBXl7pXZ.0.0.31-alpha.9.js} +1 -1
  58. package/dist/interface/vue-i18n.BxvFdZfG.0.0.31-alpha.9.js +5 -0
  59. package/dist/interface/{vue-inline-svg.4-3P8jgK.0.0.31-alpha.8.js → vue-inline-svg.DryJfuXO.0.0.31-alpha.9.js} +1 -1
  60. package/dist/interface/{vue-router.NoMHtcDm.0.0.31-alpha.8.js → vue-router.tZAYeGmk.0.0.31-alpha.9.js} +1 -1
  61. package/dist/interface/{vue3-apexcharts.Y0rsxZUZ.0.0.31-alpha.8.js → vue3-apexcharts.z9tPv-7C.0.0.31-alpha.9.js} +1 -1
  62. package/dist/interface/{vue3-dnd.Bie_ElZ5.0.0.31-alpha.8.js → vue3-dnd.CjEEXgGE.0.0.31-alpha.9.js} +1 -1
  63. package/dist/interface/{vue3-toastify.rpvu800T.0.0.31-alpha.8.js → vue3-toastify.DRSIlF3j.0.0.31-alpha.9.js} +1 -1
  64. package/dist/interface/{vuetify.-p3mKzzj.0.0.31-alpha.8.js → vuetify.C_HFG9xV.0.0.31-alpha.9.js} +1 -1
  65. package/dist/server/bin/cameraui.d.ts +1 -0
  66. package/dist/server/bin/cameraui.js +3 -1
  67. package/dist/server/bin/cameraui.js.map +1 -1
  68. package/dist/server/bin/logger.d.ts +2 -1
  69. package/dist/server/bin/logger.js +17 -15
  70. package/dist/server/bin/logger.js.map +1 -1
  71. package/dist/server/package.json +10 -10
  72. package/dist/server/requirements.txt +1 -1
  73. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -2
  74. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  75. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  76. package/dist/server/src/api/controllers/plugins.controller.js +2 -2
  77. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  78. package/dist/server/src/api/database/index.d.ts +1 -1
  79. package/dist/server/src/api/database/index.js +1 -1
  80. package/dist/server/src/api/database/migration.js +11 -0
  81. package/dist/server/src/api/database/migration.js.map +1 -1
  82. package/dist/server/src/api/database/types.d.ts +2 -1
  83. package/dist/server/src/api/go2rtc/api/streams.d.ts +1 -1
  84. package/dist/server/src/api/go2rtc/types.d.ts +2 -18
  85. package/dist/server/src/api/index.js +8 -10
  86. package/dist/server/src/api/index.js.map +1 -1
  87. package/dist/server/src/api/schemas/cameras.schema.d.ts +14 -0
  88. package/dist/server/src/api/schemas/cameras.schema.js +3 -0
  89. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  90. package/dist/server/src/api/types/index.d.ts +7 -0
  91. package/dist/server/src/api/utils/cert.d.ts +7 -7
  92. package/dist/server/src/api/utils/cert.js +178 -385
  93. package/dist/server/src/api/utils/cert.js.map +1 -1
  94. package/dist/server/src/api/utils/constants.d.ts +0 -2
  95. package/dist/server/src/api/utils/constants.js +4 -7
  96. package/dist/server/src/api/utils/constants.js.map +1 -1
  97. package/dist/server/src/api/websocket/nsp/notifications.js +1 -1
  98. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  99. package/dist/server/src/api/websocket/nsp/server.d.ts +9 -4
  100. package/dist/server/src/api/websocket/nsp/server.js +51 -14
  101. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  102. package/dist/server/src/decoder/worker.js +1 -1
  103. package/dist/server/src/decoder/worker.js.map +1 -1
  104. package/dist/server/src/nats/websocket.js +5 -5
  105. package/dist/server/src/services/logger/index.d.ts +6 -1
  106. package/dist/server/src/services/logger/index.js +43 -11
  107. package/dist/server/src/services/logger/index.js.map +1 -1
  108. package/package.json +10 -10
  109. package/dist/interface/@camera.ui.ilP0Pgi-.0.0.31-alpha.8.js +0 -3
  110. package/dist/interface/@intlify.Jdj6PDCT.0.0.31-alpha.8.js +0 -19
  111. package/dist/interface/@vue.FH56CEei.0.0.31-alpha.8.js +0 -17
  112. package/dist/interface/Account.BKSNXyQo.0.0.31-alpha.8.js +0 -1
  113. package/dist/interface/Adminpanel.D4vl2ltk.0.0.31-alpha.8.js +0 -2
  114. package/dist/interface/Appearance.b87C3Ao1.0.0.31-alpha.8.js +0 -1
  115. package/dist/interface/Backup.DiZ0K5-m.0.0.31-alpha.8.js +0 -1
  116. package/dist/interface/Camera.ByiPO7p5.0.0.31-alpha.8.js +0 -1
  117. package/dist/interface/Cameras.DSGFuvDr.0.0.31-alpha.8.js +0 -1
  118. package/dist/interface/Camview.D5QYp_qf.0.0.31-alpha.8.js +0 -1
  119. package/dist/interface/Config._xgrNy8L.0.0.31-alpha.8.js +0 -1
  120. package/dist/interface/Console.6In8yvbe.0.0.31-alpha.8.js +0 -4
  121. package/dist/interface/FirstSteps.DB9wXF-y.0.0.31-alpha.8.js +0 -1
  122. package/dist/interface/Plugin.BuZ3fHGc.0.0.31-alpha.8.js +0 -1
  123. package/dist/interface/Plugins.C6B6uiZE.0.0.31-alpha.8.js +0 -1
  124. package/dist/interface/Recordings.DETI0yq9.0.0.31-alpha.8.js +0 -1
  125. package/dist/interface/Recordings.mY1H0Kzi.0.0.31-alpha.8.js +0 -1
  126. package/dist/interface/Settings.BwsN2-Xp.0.0.31-alpha.8.js +0 -1
  127. package/dist/interface/System.DIsBdimE.0.0.31-alpha.8.js +0 -4
  128. package/dist/interface/User.CBKzGR1U.0.0.31-alpha.8.js +0 -1
  129. package/dist/interface/VPlayer.CFrDf5c7.0.0.31-alpha.8.js +0 -1
  130. package/dist/interface/engine.io-client.CaYZn4hK.0.0.31-alpha.8.js +0 -1
  131. package/dist/interface/main.D9Hvqk9A.0.0.31-alpha.8.js +0 -2
  132. package/dist/interface/socket.io-client.DkX-fIzK.0.0.31-alpha.8.js +0 -1
  133. package/dist/interface/vue-i18n.BBihTfvA.0.0.31-alpha.8.js +0 -9
  134. /package/dist/interface/{@babel.l0sNRNKZ.0.0.31-alpha.8.js → @babel.l0sNRNKZ.0.0.31-alpha.9.js} +0 -0
  135. /package/dist/interface/{@popperjs.BQBsAJpH.0.0.31-alpha.8.js → @popperjs.BQBsAJpH.0.0.31-alpha.9.js} +0 -0
  136. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.31-alpha.8.js → @react-dnd.CcwRs9xb.0.0.31-alpha.9.js} +0 -0
  137. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.31-alpha.8.js → @socket.io.Dkula2eQ.0.0.31-alpha.9.js} +0 -0
  138. /package/dist/interface/{@xterm.CuWrgrj7.0.0.31-alpha.8.js → @xterm.CSJozHT0.0.0.31-alpha.9.js} +0 -0
  139. /package/dist/interface/assets/{@vueform.0.0.31-alpha.8.h7tNX9p6.css → @vueform.0.0.31-alpha.9.h7tNX9p6.css} +0 -0
  140. /package/dist/interface/assets/{@xterm.0.0.31-alpha.8.CGrrDQr5.css → @xterm.0.0.31-alpha.9.CGrrDQr5.css} +0 -0
  141. /package/dist/interface/assets/{Account.0.0.31-alpha.8.Ce3OmKrC.css → Account.0.0.31-alpha.9.Ce3OmKrC.css} +0 -0
  142. /package/dist/interface/assets/{Adminpanel.0.0.31-alpha.8.BCpVV7QL.css → Adminpanel.0.0.31-alpha.9.BCpVV7QL.css} +0 -0
  143. /package/dist/interface/assets/{Backup.0.0.31-alpha.8.BIwaSlv3.css → Backup.0.0.31-alpha.9.BIwaSlv3.css} +0 -0
  144. /package/dist/interface/assets/{Cameras.0.0.31-alpha.8.b9mQaG3Q.css → Cameras.0.0.31-alpha.9.b9mQaG3Q.css} +0 -0
  145. /package/dist/interface/assets/{Camview.0.0.31-alpha.8.DxCmx1if.css → Camview.0.0.31-alpha.9.DxCmx1if.css} +0 -0
  146. /package/dist/interface/assets/{Config.0.0.31-alpha.8.BtdZEuQO.css → Config.0.0.31-alpha.9.BtdZEuQO.css} +0 -0
  147. /package/dist/interface/assets/{Console.0.0.31-alpha.8.Cc8Jy8yw.css → Console.0.0.31-alpha.9.Cc8Jy8yw.css} +0 -0
  148. /package/dist/interface/assets/{FirstSteps.0.0.31-alpha.8.CCo2y-sU.css → FirstSteps.0.0.31-alpha.9.CCo2y-sU.css} +0 -0
  149. /package/dist/interface/assets/{NewCamera.0.0.31-alpha.8.m4FTNlSI.css → NewCamera.0.0.31-alpha.9.m4FTNlSI.css} +0 -0
  150. /package/dist/interface/assets/{Plugin.0.0.31-alpha.8.BtRA6zDt.css → Plugin.0.0.31-alpha.9.BtRA6zDt.css} +0 -0
  151. /package/dist/interface/assets/{Plugins.0.0.31-alpha.8.Cwu0aGUO.css → Plugins.0.0.31-alpha.9.Cwu0aGUO.css} +0 -0
  152. /package/dist/interface/assets/{Settings.0.0.31-alpha.8.DTRm1psP.css → Settings.0.0.31-alpha.9.DTRm1psP.css} +0 -0
  153. /package/dist/interface/assets/{User.0.0.31-alpha.8.DPDcJbx8.css → User.0.0.31-alpha.9.DPDcJbx8.css} +0 -0
  154. /package/dist/interface/assets/{VConsole.0.0.31-alpha.8.BZT1WyS-.css → VConsole.0.0.31-alpha.9.BZT1WyS-.css} +0 -0
  155. /package/dist/interface/assets/{VPluginCard.0.0.31-alpha.8.CyNvwFGk.css → VPluginCard.0.0.31-alpha.9.CyNvwFGk.css} +0 -0
  156. /package/dist/interface/assets/{highlight.0.0.31-alpha.8.DgoK_Xib.css → highlight.0.0.31-alpha.9.DgoK_Xib.css} +0 -0
  157. /package/dist/interface/assets/{logo-256.0.0.31-alpha.8.BCQk9H1-.png → logo-256.0.0.31-alpha.9.BCQk9H1-.png} +0 -0
  158. /package/dist/interface/assets/{logo-512.0.0.31-alpha.8.DLKVOU2S.png → logo-512.0.0.31-alpha.9.DLKVOU2S.png} +0 -0
  159. /package/dist/interface/assets/{logo.0.0.31-alpha.8.DmEiRk0z.png → logo.0.0.31-alpha.9.DmEiRk0z.png} +0 -0
  160. /package/dist/interface/assets/{mode-json.0.0.31-alpha.8.Br7xisR1.js → mode-json.0.0.31-alpha.9.Br7xisR1.js} +0 -0
  161. /package/dist/interface/assets/{mode-yaml.0.0.31-alpha.8.CIYL8U3d.js → mode-yaml.0.0.31-alpha.9.CIYL8U3d.js} +0 -0
  162. /package/dist/interface/assets/{v-calendar.0.0.31-alpha.8.CtSuDYZU.css → v-calendar.0.0.31-alpha.9.CtSuDYZU.css} +0 -0
  163. /package/dist/interface/assets/{vue3-toastify.0.0.31-alpha.8.DTY1DMRs.css → vue3-toastify.0.0.31-alpha.9.DTY1DMRs.css} +0 -0
  164. /package/dist/interface/assets/{vuetify.0.0.31-alpha.8.Cip-kMKR.css → vuetify.0.0.31-alpha.9.Cip-kMKR.css} +0 -0
  165. /package/dist/interface/{axios.C-n2IhIP.0.0.31-alpha.8.js → axios.C-n2IhIP.0.0.31-alpha.9.js} +0 -0
  166. /package/dist/interface/{compare-versions.DqEOhma6.0.0.31-alpha.8.js → compare-versions.DqEOhma6.0.0.31-alpha.9.js} +0 -0
  167. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.31-alpha.8.js → dijkstrajs.D_NXgYpA.0.0.31-alpha.9.js} +0 -0
  168. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.31-alpha.8.js → engine.io-parser.BiEtp6m2.0.0.31-alpha.9.js} +0 -0
  169. /package/dist/interface/{entities.C20TfXL6.0.0.31-alpha.8.js → entities.C20TfXL6.0.0.31-alpha.9.js} +0 -0
  170. /package/dist/interface/{get-size.D1dS-IaP.0.0.31-alpha.8.js → get-size.D1dS-IaP.0.0.31-alpha.9.js} +0 -0
  171. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.31-alpha.8.js → mdurl.k9Sl0PQj.0.0.31-alpha.9.js} +0 -0
  172. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.31-alpha.8.js → punycode.js.Dj65hjkv.0.0.31-alpha.9.js} +0 -0
  173. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.31-alpha.8.js → react-dnd-html5-backend.1HQjlkwI.0.0.31-alpha.9.js} +0 -0
  174. /package/dist/interface/{redux.CuxFRhX_.0.0.31-alpha.8.js → redux.CuxFRhX_.0.0.31-alpha.9.js} +0 -0
  175. /package/dist/interface/{tslib.9k7AwCpt.0.0.31-alpha.8.js → tslib.9k7AwCpt.0.0.31-alpha.9.js} +0 -0
  176. /package/dist/interface/{types.Cz9TaZAP.0.0.31-alpha.8.js → types.Cz9TaZAP.0.0.31-alpha.9.js} +0 -0
  177. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.31-alpha.8.js → uc.micro.kMc2yuuw.0.0.31-alpha.9.js} +0 -0
  178. /package/dist/interface/{utils.mAKpSMLY.0.0.31-alpha.8.js → utils.mAKpSMLY.0.0.31-alpha.9.js} +0 -0
  179. /package/dist/interface/{uuid.DvF23Exx.0.0.31-alpha.8.js → uuid.DvF23Exx.0.0.31-alpha.9.js} +0 -0
  180. /package/dist/interface/{vue.l0sNRNKZ.0.0.31-alpha.8.js → vue.l0sNRNKZ.0.0.31-alpha.9.js} +0 -0
  181. /package/dist/interface/{zod.DnW1_kUe.0.0.31-alpha.8.js → zod.DnW1_kUe.0.0.31-alpha.9.js} +0 -0
@@ -1,411 +1,204 @@
1
1
  import forge from 'node-forge';
2
2
  import { existsSync, readFileSync, writeFileSync } from 'node:fs';
3
- import { isIPv4, isIPv6 } from 'node:net';
4
3
  import { join } from 'node:path';
5
4
  import { container } from 'tsyringe';
6
- import { DEFAULTS, HOST_CERT_FILENAME, HOST_KEY_FILENAME, P12_FILENAME, P12_PASSWORD, ROOT_CERT_FILENAME, ROOT_KEY_FILENAME } from './constants.js';
5
+ import { DEFAULTS, HOST_CERT_FILENAME, HOST_KEY_FILENAME, ROOT_CERT_FILENAME, ROOT_KEY_FILENAME } from './constants.js';
6
+ import { isIPv4, isIPv6 } from 'node:net';
7
7
  const makeNumberPositive = (hexString) => {
8
8
  let mostSignificativeHexDigitAsInt = Number.parseInt(hexString[0], 16);
9
- if (mostSignificativeHexDigitAsInt < 8) {
9
+ if (mostSignificativeHexDigitAsInt < 8)
10
10
  return hexString;
11
- }
12
11
  mostSignificativeHexDigitAsInt -= 8;
13
12
  return mostSignificativeHexDigitAsInt.toString() + hexString.slice(1);
14
13
  };
15
- // Generate a random serial number for the Certificate
16
14
  const randomSerialNumber = () => {
17
15
  return makeNumberPositive(forge.util.bytesToHex(forge.random.getBytesSync(20)));
18
16
  };
19
- // Get the Not Before Date for a Certificate (will be valid from 2 days ago)
20
17
  const getCertNotBefore = () => {
21
- const twoDaysAgo = new Date(Date.now() - 60 * 60 * 24 * 2 * 1000);
22
- const year = twoDaysAgo.getFullYear();
23
- const month = (twoDaysAgo.getMonth() + 1).toString().padStart(2, '0');
24
- const day = twoDaysAgo.getDate();
25
- return new Date(`${year}-${month}-${day} 00:00:00Z`);
18
+ const twoDaysAgo = new Date(Date.now() - 2 * 24 * 60 * 60 * 1000);
19
+ return new Date(twoDaysAgo.toISOString().split('T')[0] + 'T00:00:00Z');
26
20
  };
27
- // Get Certificate Expiration Date (Valid for 90 Days)
28
21
  const getCertNotAfter = (notBefore) => {
29
- const ninetyDaysLater = new Date(notBefore.getTime() + 60 * 60 * 24 * 90 * 1000);
30
- const year = ninetyDaysLater.getFullYear();
31
- const month = (ninetyDaysLater.getMonth() + 1).toString().padStart(2, '0');
32
- const day = ninetyDaysLater.getDate();
33
- return new Date(`${year}-${month}-${day} 23:59:59Z`);
22
+ const ninetyDaysLater = new Date(notBefore.getTime() + 390 * 24 * 60 * 60 * 1000);
23
+ return new Date(ninetyDaysLater.toISOString().split('T')[0] + 'T23:59:59Z');
34
24
  };
35
- // Get CA Expiration Date (Valid for 100 Years)
36
25
  const getCANotAfter = (notBefore) => {
37
- const year = notBefore.getFullYear() + 100;
38
- const month = (notBefore.getMonth() + 1).toString().padStart(2, '0');
39
- const day = notBefore.getDate();
40
- return new Date(`${year}-${month}-${day} 23:59:59Z`);
26
+ const hundredYearsLater = new Date(notBefore);
27
+ hundredYearsLater.setFullYear(hundredYearsLater.getFullYear() + 100);
28
+ return new Date(hundredYearsLater.toISOString().split('T')[0] + 'T23:59:59Z');
41
29
  };
42
- export const getCert = (forceNew) => {
43
- const logger = container.resolve('logger');
44
- const configService = container.resolve('configService');
45
- const certFile = join(configService.STORAGE_PATH, ROOT_CERT_FILENAME);
46
- const keyFile = join(configService.STORAGE_PATH, ROOT_KEY_FILENAME);
47
- let cert;
48
- let key;
49
- let certPath;
50
- let keyPath;
51
- const { config } = configService;
52
- if (config.ssl?.certFile && config.ssl?.keyFile && existsSync(config.ssl.certFile) && existsSync(config.ssl.keyFile) && !forceNew) {
53
- logger.debug('Configuring server with certificate/key defined in camera.ui.yaml...');
54
- cert = readFileSync(config.ssl.certFile, 'utf8');
55
- key = readFileSync(config.ssl.keyFile, 'utf8');
56
- certPath = config.ssl.certFile;
57
- keyPath = config.ssl.keyFile;
58
- }
59
- else {
60
- logger.debug('Generating new certificate/key for server...');
61
- const data = createRootCA(config.ssl?.addresses);
62
- cert = data.cert;
63
- key = data.key;
64
- certPath = certFile;
65
- keyPath = keyFile;
66
- }
67
- return {
68
- cert,
69
- certPath,
70
- key,
71
- keyPath,
72
- };
73
- };
74
- export const createRootCA = (customAddresses = ['127.0.0.1']) => {
75
- const configService = container.resolve('configService');
76
- const serialNumber = randomSerialNumber();
77
- const addresses = customAddresses.map((address) => {
78
- const object = isIPv4(address) || isIPv6(address)
79
- ? {
80
- type: 7,
81
- ip: address,
82
- }
83
- : {
84
- type: 2,
85
- value: address,
86
- };
87
- return object;
88
- }) || [];
89
- if (addresses.length === 0 || !addresses.some((addr) => addr.value === '127.0.0.1')) {
90
- addresses.push({
91
- type: 7,
92
- ip: '127.0.0.1',
93
- });
94
- }
95
- // Define the attributes for the new Root CA
96
- const attributes = [
97
- {
98
- shortName: 'C',
99
- value: DEFAULTS.C,
100
- },
101
- {
102
- shortName: 'ST',
103
- value: DEFAULTS.ST,
104
- },
105
- {
106
- shortName: 'L',
107
- value: DEFAULTS.L,
108
- },
109
- {
110
- shortName: 'CN',
111
- value: DEFAULTS.ROOT_CN,
112
- },
113
- {
114
- shortName: 'O',
115
- value: DEFAULTS.O,
116
- },
117
- {
118
- shortName: 'OU',
119
- value: DEFAULTS.OU,
120
- },
121
- ];
122
- const extensions = [
123
- {
124
- name: 'basicConstraints',
125
- cA: true,
126
- critical: true,
127
- },
128
- {
129
- name: 'keyUsage',
130
- critical: true,
131
- keyCertSign: true,
132
- cRLSign: true,
133
- digitalSignature: true,
134
- nonRepudiation: true,
135
- keyEncipherment: true,
136
- dataEncipherment: true,
137
- },
138
- // x509lint ERROR CA root certificate with Extended Key Usage
139
- /*{
140
- name: 'extKeyUsage',
141
- serverAuth: true,
142
- clientAuth: true,
143
- codeSigning: true,
144
- emailProtection: true,
145
- timeStamping: true,
146
- },*/
147
- {
148
- name: 'nsCertType',
149
- client: true,
150
- server: true,
151
- email: true,
152
- objsign: true,
153
- sslCA: true,
154
- emailCA: true,
155
- objCA: true,
156
- },
157
- {
158
- name: 'subjectKeyIdentifier',
159
- },
160
- /*{
161
- name: 'authorityKeyIdentifier',
162
- keyid: 'always',
163
- issuer: true,
164
- },*/
165
- {
166
- name: 'authorityKeyIdentifier',
167
- keyIdentifier: true,
168
- //authorityCertIssuer: true,
169
- //serialNumber: serialNumber,
170
- },
171
- {
172
- name: 'subjectAltName',
173
- altNames: addresses,
174
- },
175
- ];
176
- // Create a new Keypair for the Root CA
177
- const { privateKey, publicKey } = forge.pki.rsa.generateKeyPair(2048);
178
- // Create an empty Certificate
179
- const cert = forge.pki.createCertificate();
180
- // Set the Certificate attributes for the new Root CA
181
- cert.publicKey = publicKey;
182
- cert.privateKey = privateKey;
183
- cert.serialNumber = serialNumber;
184
- cert.validity.notBefore = getCertNotBefore();
185
- cert.validity.notAfter = getCANotAfter(cert.validity.notBefore);
186
- cert.setSubject(attributes);
187
- cert.setIssuer(attributes);
188
- cert.setExtensions(extensions);
189
- // Self-sign the Certificate
190
- cert.sign(privateKey, forge.md.sha512.create());
191
- // Convert to PEM format
192
- const pemCert = forge.pki.certificateToPem(cert);
193
- const pemPrivateKey = forge.pki.privateKeyToPem(privateKey);
194
- // Write Root CA PEM cert/key to disk
195
- const rootCertFilePath = join(configService.STORAGE_PATH, ROOT_CERT_FILENAME);
196
- const rootPrivateKeyFilePath = join(configService.STORAGE_PATH, ROOT_KEY_FILENAME);
197
- writeFileSync(rootCertFilePath, pemCert);
198
- writeFileSync(rootPrivateKeyFilePath, pemPrivateKey);
199
- // Return the PEM encoded cert and private key
200
- return {
201
- cert: pemCert,
202
- certPath: rootCertFilePath,
203
- key: pemPrivateKey,
204
- keyPath: rootPrivateKeyFilePath,
205
- };
30
+ const isCertificateValid = (certPath) => {
31
+ const cert = forge.pki.certificateFromPem(readFileSync(certPath, 'utf8'));
32
+ const now = new Date();
33
+ return now >= cert.validity.notBefore && now <= cert.validity.notAfter;
206
34
  };
207
- export const createCSR = (addresses, keys) => {
208
- const csr = forge.pki.createCertificationRequest();
209
- csr.publicKey = keys.publicKey;
210
- const subject = [
211
- {
212
- shortName: 'C',
213
- value: DEFAULTS.C,
214
- },
215
- {
216
- shortName: 'ST',
217
- value: DEFAULTS.ST,
218
- },
219
- {
220
- shortName: 'L',
221
- value: DEFAULTS.L,
222
- },
223
- {
224
- shortName: 'O',
225
- value: DEFAULTS.O,
226
- },
227
- {
228
- shortName: 'OU',
229
- value: DEFAULTS.OU,
230
- },
231
- {
232
- shortName: 'CN',
233
- value: DEFAULTS.CN,
234
- },
235
- ];
236
- const attributes = [
237
- {
238
- name: 'extensionRequest',
239
- extensions: [
240
- {
241
- name: 'subjectAltName',
242
- altNames: addresses,
243
- },
244
- ],
245
- },
246
- ];
247
- csr.setSubject(subject);
248
- // Bug: https://github.com/digitalbazaar/forge/issues/1036
249
- // @ts-ignore
250
- csr.setAttributes(attributes);
251
- // sign certification request
252
- csr.sign(keys.privateKey, forge.md.sha512.create());
253
- // Bug?
254
- // @ts-ignore
255
- if (csr.verify()) {
256
- // Convert to PEM format
257
- const pemCert = forge.pki.certificationRequestToPem(csr);
258
- return {
259
- cert: pemCert,
260
- };
35
+ const isLegacyCertificate = (certPath) => {
36
+ try {
37
+ const certPem = readFileSync(certPath, 'utf8');
38
+ const cert = forge.pki.certificateFromPem(certPem);
39
+ const subject = cert.subject.getField('O');
40
+ const ou = cert.subject.getField('OU');
41
+ const cn = cert.subject.getField('CN');
42
+ return subject && subject.value === 'camera.ui' && ou && ou.value === 'cui' && cn && (cn.value === 'camera.ui root certificate' || cn.value.startsWith('camera.ui'));
261
43
  }
262
- else {
263
- throw new Error('Signature not verified.');
44
+ catch (error) {
45
+ console.error('Error checking legacy certificate:', error);
46
+ return false;
264
47
  }
265
- // Convert to PEM format
266
- // const pemCert = forge.pki.certificationRequestToPem(csr);
267
- // Write CSR PEM cert to disk
268
- // const certFilePath = join(STORAGE_PATH, 'camera.ui.csr.cert.pem');
269
- // writeFileSync(certFilePath, pemCert);
270
- // Return the PEM encoded cert and private key
271
- // return {
272
- // certificate: pemCert,
273
- // };
274
48
  };
275
- export const createCert = (customAddresses = ['127.0.0.1'] /*, rootCAObject*/) => {
276
- const configService = container.resolve('configService');
277
- const addresses = customAddresses.map((address) => {
278
- return {
49
+ export class CertificateGeneration {
50
+ static createRootCA(customAddresses) {
51
+ const configService = container.resolve('configService');
52
+ const serialNumber = randomSerialNumber();
53
+ const addresses = customAddresses.map((address) => ({
279
54
  type: isIPv4(address) || isIPv6(address) ? 7 : 2,
280
- value: address,
281
- };
282
- });
283
- if (addresses.length === 0) {
284
- addresses.push({
285
- type: 7,
286
- value: '127.0.0.1',
287
- });
55
+ ip: isIPv4(address) || isIPv6(address) ? address : undefined,
56
+ value: !(isIPv4(address) || isIPv6(address)) ? address : undefined,
57
+ }));
58
+ if (!addresses.some((addr) => addr.ip === '127.0.0.1')) {
59
+ addresses.push({ type: 7, ip: '127.0.0.1' });
60
+ }
61
+ const attributes = [
62
+ { shortName: 'C', value: DEFAULTS.C },
63
+ { shortName: 'ST', value: DEFAULTS.ST },
64
+ { shortName: 'L', value: DEFAULTS.L },
65
+ { shortName: 'CN', value: DEFAULTS.ROOT_CN },
66
+ { shortName: 'O', value: DEFAULTS.O },
67
+ { shortName: 'OU', value: DEFAULTS.OU },
68
+ ];
69
+ const extensions = [
70
+ { name: 'basicConstraints', cA: true, critical: true },
71
+ {
72
+ name: 'keyUsage',
73
+ critical: true,
74
+ keyCertSign: true,
75
+ cRLSign: true,
76
+ digitalSignature: true,
77
+ nonRepudiation: true,
78
+ keyEncipherment: true,
79
+ dataEncipherment: true,
80
+ },
81
+ {
82
+ name: 'nsCertType',
83
+ client: true,
84
+ server: true,
85
+ email: true,
86
+ objsign: true,
87
+ sslCA: true,
88
+ emailCA: true,
89
+ objCA: true,
90
+ },
91
+ { name: 'subjectKeyIdentifier' },
92
+ { name: 'authorityKeyIdentifier', keyIdentifier: true },
93
+ { name: 'subjectAltName', altNames: addresses },
94
+ ];
95
+ const { privateKey, publicKey } = forge.pki.rsa.generateKeyPair(2048);
96
+ const cert = forge.pki.createCertificate();
97
+ cert.publicKey = publicKey;
98
+ cert.serialNumber = serialNumber;
99
+ cert.validity.notBefore = getCertNotBefore();
100
+ cert.validity.notAfter = getCANotAfter(cert.validity.notBefore);
101
+ cert.setSubject(attributes);
102
+ cert.setIssuer(attributes);
103
+ cert.setExtensions(extensions);
104
+ cert.sign(privateKey, forge.md.sha256.create());
105
+ const pemCert = forge.pki.certificateToPem(cert);
106
+ const pemPrivateKey = forge.pki.privateKeyToPem(privateKey);
107
+ const rootCertFilePath = join(configService.STORAGE_PATH, ROOT_CERT_FILENAME);
108
+ const rootPrivateKeyFilePath = join(configService.STORAGE_PATH, ROOT_KEY_FILENAME);
109
+ writeFileSync(rootCertFilePath, pemCert);
110
+ writeFileSync(rootPrivateKeyFilePath, pemPrivateKey);
111
+ return { cert: pemCert, certPath: rootCertFilePath, key: pemPrivateKey, keyPath: rootPrivateKeyFilePath };
288
112
  }
289
- // Create Root CA
290
- // if (!rootCAObject) {
291
- // const rootCertPath = join(STORAGE_PATH, ROOT_CERT_FILENAME);
292
- // const rootKeyPath = join(STORAGE_PATH, ROOT_KEY_FILENAME);
293
- // const storageDirectory = readdirSync(STORAGE_PATH);
294
- // const rootFilesExist = storageDirectory.every((value) => [ROOT_CERT_FILENAME, ROOT_KEY_FILENAME].includes(value));
295
- // rootCAObject = !rootFilesExist
296
- // ? createRootCA(STORAGE_PATH)
297
- // : {
298
- // certificate: readFileSync(rootCertPath, 'ascii'),
299
- // privateKey: readFileSync(rootKeyPath, 'ascii'),
300
- // };
301
- // }
302
- // Create a new Keypair
303
- const keyPairs = forge.pki.rsa.generateKeyPair(2048);
304
- // Create Root CA
305
- const rootCAObject = createRootCA(customAddresses);
306
- // Create CSR
307
- //const csrObject = createCSR(addresses, keyPairs);
308
- // Convert the Root CA and CSR PEM details, to a forge Object
309
- //const csr = forge.pki.certificationRequestFromPem(csrObject.certificate);
310
- const caCert = forge.pki.certificateFromPem(rootCAObject.cert);
311
- const caKey = forge.pki.privateKeyFromPem(rootCAObject.key);
312
- const caStore = forge.pki.createCaStore([caCert]);
313
- // This seams like a hack but something is wrong in forge it adds the wrong key
314
- const authorityKeyIdentifier = caCert.getExtension('authorityKeyIdentifier');
315
- const t = Buffer.from(authorityKeyIdentifier.value).subarray(5);
316
- const attributes = [
317
- {
318
- shortName: 'C',
319
- value: DEFAULTS.C,
320
- },
321
- {
322
- shortName: 'ST',
323
- value: DEFAULTS.ST,
324
- },
325
- {
326
- shortName: 'L',
327
- value: DEFAULTS.L,
328
- },
329
- {
330
- shortName: 'CN',
331
- value: DEFAULTS.CN,
332
- },
333
- {
334
- shortName: 'O',
335
- value: DEFAULTS.O,
336
- },
337
- ];
338
- const extensions = [
339
- {
340
- name: 'basicConstraints',
341
- cA: false,
342
- },
343
- {
344
- name: 'nsCertType',
345
- server: true,
346
- },
347
- {
348
- name: 'subjectKeyIdentifier',
349
- },
350
- {
351
- name: 'authorityKeyIdentifier',
352
- authorityCertIssuer: true,
353
- serialNumber: caCert.serialNumber,
354
- keyIdentifier: t,
355
- },
356
- {
357
- name: 'keyUsage',
358
- critical: true,
359
- digitalSignature: true,
360
- nonRepudiation: true,
361
- keyEncipherment: true,
362
- },
363
- {
364
- name: 'extKeyUsage',
365
- serverAuth: true,
366
- },
367
- {
368
- name: 'subjectAltName',
369
- altNames: addresses,
370
- },
371
- ];
372
- // Create an empty Certificate
373
- const cert = forge.pki.createCertificate();
374
- // Set the attributes for the new Host Certificate
375
- cert.publicKey = keyPairs.publicKey;
376
- cert.serialNumber = randomSerialNumber();
377
- cert.validity.notBefore = getCertNotBefore();
378
- cert.validity.notAfter = getCertNotAfter(cert.validity.notBefore);
379
- cert.setSubject(attributes);
380
- //cert.setSubject(csr.subject.attributes);
381
- cert.setIssuer(caCert.subject.attributes);
382
- cert.setExtensions(extensions);
383
- // Sign the new Host Certificate using the CA
384
- cert.sign(caKey, forge.md.sha512.create());
385
- forge.pki.verifyCertificateChain(caStore, [cert, caCert]);
386
- // Convert to PEM format
387
- const pemCert = forge.pki.certificateToPem(cert);
388
- const pemPrivateKey = forge.pki.privateKeyToPem(keyPairs.privateKey);
389
- // Generate .p12 file
390
- const pkcs12 = forge.pkcs12.toPkcs12Asn1(keyPairs.privateKey, [caCert], P12_PASSWORD, {
391
- algorithm: '3des',
392
- generateLocalKeyId: true,
393
- friendlyName: 'camera.ui',
394
- });
395
- const pkcs12Der = forge.asn1.toDer(pkcs12).getBytes();
396
- // Write PEM cert/key to disk
397
- const certFilePath = join(configService.STORAGE_PATH, HOST_CERT_FILENAME);
398
- const privateKeyFilePath = join(configService.STORAGE_PATH, HOST_KEY_FILENAME);
399
- const p12FilePath = join(configService.STORAGE_PATH, P12_FILENAME);
400
- writeFileSync(certFilePath, pemCert);
401
- writeFileSync(privateKeyFilePath, pemPrivateKey);
402
- writeFileSync(p12FilePath, pkcs12Der, 'binary');
403
- // Return the PEM encoded cert and private key
404
- return {
405
- cert: pemCert,
406
- certPath: certFilePath,
407
- key: pemPrivateKey,
408
- keyPath: privateKeyFilePath,
409
- };
410
- };
113
+ static createHostCert(customAddresses, rootCAObject) {
114
+ const configService = container.resolve('configService');
115
+ const addresses = customAddresses.map((address) => ({
116
+ type: isIPv4(address) || isIPv6(address) ? 7 : 2,
117
+ ip: isIPv4(address) || isIPv6(address) ? address : undefined,
118
+ value: !(isIPv4(address) || isIPv6(address)) ? address : undefined,
119
+ }));
120
+ if (!addresses.some((addr) => addr.ip === '127.0.0.1')) {
121
+ addresses.push({ type: 7, ip: '127.0.0.1' });
122
+ }
123
+ const keyPairs = forge.pki.rsa.generateKeyPair(2048);
124
+ const caCert = forge.pki.certificateFromPem(rootCAObject.cert);
125
+ const caKey = forge.pki.privateKeyFromPem(rootCAObject.key);
126
+ const attributes = [
127
+ { shortName: 'C', value: DEFAULTS.C },
128
+ { shortName: 'ST', value: DEFAULTS.ST },
129
+ { shortName: 'L', value: DEFAULTS.L },
130
+ { shortName: 'CN', value: DEFAULTS.CN },
131
+ { shortName: 'O', value: DEFAULTS.O },
132
+ ];
133
+ const extensions = [
134
+ { name: 'basicConstraints', cA: false },
135
+ { name: 'nsCertType', server: true },
136
+ { name: 'subjectKeyIdentifier' },
137
+ {
138
+ name: 'authorityKeyIdentifier',
139
+ authorityCertIssuer: true,
140
+ serialNumber: caCert.serialNumber,
141
+ },
142
+ {
143
+ name: 'keyUsage',
144
+ critical: true,
145
+ digitalSignature: true,
146
+ nonRepudiation: true,
147
+ keyEncipherment: true,
148
+ },
149
+ { name: 'extKeyUsage', serverAuth: true },
150
+ { name: 'subjectAltName', altNames: addresses },
151
+ ];
152
+ const cert = forge.pki.createCertificate();
153
+ cert.publicKey = keyPairs.publicKey;
154
+ cert.serialNumber = randomSerialNumber();
155
+ cert.validity.notBefore = getCertNotBefore();
156
+ cert.validity.notAfter = getCertNotAfter(cert.validity.notBefore);
157
+ cert.setSubject(attributes);
158
+ cert.setIssuer(caCert.subject.attributes);
159
+ cert.setExtensions(extensions);
160
+ cert.sign(caKey, forge.md.sha256.create());
161
+ const pemCert = forge.pki.certificateToPem(cert);
162
+ const pemPrivateKey = forge.pki.privateKeyToPem(keyPairs.privateKey);
163
+ const certFilePath = join(configService.STORAGE_PATH, HOST_CERT_FILENAME);
164
+ const privateKeyFilePath = join(configService.STORAGE_PATH, HOST_KEY_FILENAME);
165
+ writeFileSync(certFilePath, pemCert);
166
+ writeFileSync(privateKeyFilePath, pemPrivateKey);
167
+ return { cert: pemCert, certPath: certFilePath, key: pemPrivateKey, keyPath: privateKeyFilePath };
168
+ }
169
+ static generateCert(forceNew) {
170
+ const logger = container.resolve('logger');
171
+ const configService = container.resolve('configService');
172
+ const { config } = configService;
173
+ const certFile = config.ssl?.certFile || join(configService.STORAGE_PATH, HOST_CERT_FILENAME);
174
+ const keyFile = config.ssl?.keyFile || join(configService.STORAGE_PATH, HOST_KEY_FILENAME);
175
+ const certExists = existsSync(certFile) && existsSync(keyFile);
176
+ const certIsValid = certExists && isCertificateValid(certFile);
177
+ const isLegacy = certExists && isLegacyCertificate(certFile);
178
+ if (!certExists || !certIsValid || isLegacy || forceNew) {
179
+ logger.debug(`Generating new certificate/key for server... (Reason: ${!certExists ? 'No cert' : !certIsValid ? 'Invalid cert' : isLegacy ? 'Legacy cert' : 'Force new'})`);
180
+ const CA = CertificateGeneration.createRootCA(config.ssl?.addresses || []);
181
+ const hostCert = CertificateGeneration.createHostCert(config.ssl?.addresses || [], CA);
182
+ return hostCert;
183
+ }
184
+ else if (certExists && !forceNew) {
185
+ logger.debug('Configuring server with certificate/key defined in camera.ui.yaml...');
186
+ return {
187
+ cert: readFileSync(config.ssl.certFile, 'utf8'),
188
+ certPath: config.ssl.certFile,
189
+ key: readFileSync(config.ssl.keyFile, 'utf8'),
190
+ keyPath: config.ssl.keyFile,
191
+ };
192
+ }
193
+ else {
194
+ logger.debug('Using existing valid certificate/key for server...');
195
+ return {
196
+ cert: readFileSync(certFile, 'utf8'),
197
+ certPath: certFile,
198
+ key: readFileSync(keyFile, 'utf8'),
199
+ keyPath: keyFile,
200
+ };
201
+ }
202
+ }
203
+ }
411
204
  //# sourceMappingURL=cert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cert.js","sourceRoot":"","sources":["../../../../../src/api/utils/cert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cert.js","sourceRoot":"","sources":["../../../../../src/api/utils/cert.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@ export declare const HOST_CERT_FILENAME = "camera.ui.cert.pem";
2
2
  export declare const HOST_KEY_FILENAME = "camera.ui.key.pem";
3
3
  export declare const ROOT_CERT_FILENAME = "camera.ui.root.cert.pem";
4
4
  export declare const ROOT_KEY_FILENAME = "camera.ui.root.key.pem";
5
- export declare const P12_FILENAME = "camera.ui.p12";
6
- export declare const P12_PASSWORD = "camera.ui";
7
5
  export declare const DEFAULTS: {
8
6
  C: string;
9
7
  ST: string;