@elliemae/pui-cli 8.55.7-alpha.3 → 8.56.1

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 (132) hide show
  1. package/README.md +1 -13
  2. package/build/docs/404.html +16 -0
  3. package/build/docs/api/functions/loadRoutes/index.html +22 -0
  4. package/build/docs/api/index.html +22 -0
  5. package/build/docs/api/type-aliases/LIB_NAME/index.html +17 -0
  6. package/build/docs/api/variables/babelConfig/index.html +40 -0
  7. package/build/docs/api/variables/commitlintConfig/index.html +20 -0
  8. package/build/docs/api/variables/eslintBaseConfig/index.html +130 -0
  9. package/build/docs/api/variables/eslintConfig/index.html +178 -0
  10. package/build/docs/api/variables/jestConfig/index.html +98 -0
  11. package/build/docs/api/variables/jestNodeConfig/index.html +98 -0
  12. package/build/docs/api/variables/lintStagedConfig/index.html +24 -0
  13. package/build/docs/api/variables/prettierConfig/index.html +30 -0
  14. package/build/docs/api/variables/stylelintConfig/index.html +30 -0
  15. package/build/docs/api/variables/vitestConfig/index.html +17 -0
  16. package/build/docs/assets/css/styles.b1b52ffd.css +1 -0
  17. package/build/docs/assets/js/04ee7372.fd34f1b5.js +1 -0
  18. package/build/docs/assets/js/0551d4dd.953e2993.js +1 -0
  19. package/build/docs/assets/js/1519.d030447d.js +1 -0
  20. package/build/docs/assets/js/1653.40368431.js +1 -0
  21. package/build/docs/assets/js/16b7bc88.f03095d0.js +1 -0
  22. package/build/docs/assets/js/1784.61dd8523.js +1 -0
  23. package/build/docs/assets/js/17896441.cc1fa77c.js +1 -0
  24. package/build/docs/assets/js/1945.61806072.js +1 -0
  25. package/build/docs/assets/js/1991.0f6feacc.js +1 -0
  26. package/build/docs/assets/js/1b9df811.469b0728.js +1 -0
  27. package/build/docs/assets/js/2045.7448b9d1.js +1 -0
  28. package/build/docs/assets/js/2776.b657fa5b.js +1 -0
  29. package/build/docs/assets/js/3038.0e4c1fa9.js +1 -0
  30. package/build/docs/assets/js/3070.a6690fa0.js +1 -0
  31. package/build/docs/assets/js/33.f8c1be59.js +1 -0
  32. package/build/docs/assets/js/37d86055.43b240e7.js +1 -0
  33. package/build/docs/assets/js/3899.f749022f.js +1 -0
  34. package/build/docs/assets/js/407.af5c71fd.js +1 -0
  35. package/build/docs/assets/js/4362.ede2f67e.js +1 -0
  36. package/build/docs/assets/js/459.fde5cc35.js +1 -0
  37. package/build/docs/assets/js/4860.8e8cbbc5.js +1 -0
  38. package/build/docs/assets/js/4931.416d91de.js +1 -0
  39. package/build/docs/assets/js/5122.3aa42065.js +1 -0
  40. package/build/docs/assets/js/5621.a8e0cf8e.js +2 -0
  41. package/build/docs/assets/js/5621.a8e0cf8e.js.LICENSE.txt +1 -0
  42. package/build/docs/assets/js/5820.4d0c57d5.js +1 -0
  43. package/build/docs/assets/js/5d5f1db0.ff686deb.js +1 -0
  44. package/build/docs/assets/js/5e8c322a.18511dc7.js +1 -0
  45. package/build/docs/assets/js/5e95c892.5e57e195.js +1 -0
  46. package/build/docs/assets/js/5fb3c522.d18d25f3.js +1 -0
  47. package/build/docs/assets/js/638.e2d76085.js +2 -0
  48. package/build/docs/assets/js/638.e2d76085.js.LICENSE.txt +9 -0
  49. package/build/docs/assets/js/6409.81de5a57.js +1 -0
  50. package/build/docs/assets/js/654.6042ce81.js +1 -0
  51. package/build/docs/assets/js/6961.c9ddb0aa.js +1 -0
  52. package/build/docs/assets/js/6bd11e52.4c7596d2.js +1 -0
  53. package/build/docs/assets/js/6e96545e.ef44dd17.js +1 -0
  54. package/build/docs/assets/js/7039.b99fc8e8.js +1 -0
  55. package/build/docs/assets/js/71f6d02b.9af88530.js +1 -0
  56. package/build/docs/assets/js/7299.3c7d7fe8.js +1 -0
  57. package/build/docs/assets/js/7666.dbfcc59e.js +1 -0
  58. package/build/docs/assets/js/7685.58b654ee.js +1 -0
  59. package/build/docs/assets/js/7807.ca692475.js +1 -0
  60. package/build/docs/assets/js/7860.7531e4aa.js +1 -0
  61. package/build/docs/assets/js/7868.01aba323.js +1 -0
  62. package/build/docs/assets/js/7968.4841fd3d.js +1 -0
  63. package/build/docs/assets/js/7997.71dc976e.js +1 -0
  64. package/build/docs/assets/js/80e87108.46343ebb.js +1 -0
  65. package/build/docs/assets/js/8130.d018025f.js +1 -0
  66. package/build/docs/assets/js/8182.04e3ced7.js +1 -0
  67. package/build/docs/assets/js/8257.052d6779.js +1 -0
  68. package/build/docs/assets/js/8587.308973e9.js +1 -0
  69. package/build/docs/assets/js/8796.27977834.js +1 -0
  70. package/build/docs/assets/js/8907.742e77d1.js +1 -0
  71. package/build/docs/assets/js/9176.0ae23755.js +1 -0
  72. package/build/docs/assets/js/9439.b8c071be.js +1 -0
  73. package/build/docs/assets/js/967.29f54a93.js +1 -0
  74. package/build/docs/assets/js/9839.1d013bad.js +1 -0
  75. package/build/docs/assets/js/a7bd4aaa.cf6f21dd.js +1 -0
  76. package/build/docs/assets/js/a94703ab.97010aaa.js +1 -0
  77. package/build/docs/assets/js/aba21aa0.0612e2e7.js +1 -0
  78. package/build/docs/assets/js/b8ac1d98.401d7970.js +1 -0
  79. package/build/docs/assets/js/bde5209a.aa0a8f57.js +1 -0
  80. package/build/docs/assets/js/c377a04b.a72f4152.js +1 -0
  81. package/build/docs/assets/js/common.03e48d9e.js +1 -0
  82. package/build/docs/assets/js/e5f79924.9835c1f1.js +1 -0
  83. package/build/docs/assets/js/f736c962.4b7c9d35.js +1 -0
  84. package/build/docs/assets/js/main.23cc0776.js +2 -0
  85. package/build/docs/assets/js/main.23cc0776.js.LICENSE.txt +51 -0
  86. package/build/docs/assets/js/runtime~main.41f949c1.js +1 -0
  87. package/build/docs/img/favicon.ico +0 -0
  88. package/build/docs/img/logo.jpeg +0 -0
  89. package/build/docs/img/logo.svg +22 -0
  90. package/build/docs/img/readme.md +1 -0
  91. package/build/docs/index.html +175 -0
  92. package/build/docs/readme.md +1 -0
  93. package/build/docs/sitemap.xml +1 -0
  94. package/build/docs/ssl-certificate-setup/index.html +284 -0
  95. package/build/docs/usage-guide/index.html +385 -0
  96. package/dist/cjs/server/cert.js +3 -2
  97. package/dist/cjs/server/certs/ca-cert.pem +27 -0
  98. package/dist/cjs/server/certs/ca-key.pem +30 -0
  99. package/dist/cjs/server/certs/cert-bundle.pem +54 -0
  100. package/dist/cjs/server/certs/cert.pem +27 -0
  101. package/dist/cjs/server/certs/generate-certs.sh +77 -0
  102. package/dist/cjs/server/certs/key.pem +28 -0
  103. package/dist/cjs/server/certs/openssl.cnf +32 -0
  104. package/dist/cjs/server/certs/server.cnf +31 -0
  105. package/dist/esm/server/cert.js +3 -2
  106. package/dist/esm/server/certs/ca-cert.pem +27 -0
  107. package/dist/esm/server/certs/ca-key.pem +30 -0
  108. package/dist/esm/server/certs/cert-bundle.pem +54 -0
  109. package/dist/esm/server/certs/cert.pem +27 -0
  110. package/dist/esm/server/certs/generate-certs.sh +77 -0
  111. package/dist/esm/server/certs/key.pem +28 -0
  112. package/dist/esm/server/certs/openssl.cnf +32 -0
  113. package/dist/esm/server/certs/server.cnf +31 -0
  114. package/dist/types/lib/server/cert.d.ts +2 -2
  115. package/dist/types/tsconfig.tsbuildinfo +1 -1
  116. package/package.json +15 -14
  117. package/dist/cjs/server/certs/cert.crt +0 -25
  118. package/dist/cjs/server/certs/cert.csr +0 -18
  119. package/dist/cjs/server/certs/cert.ext +0 -7
  120. package/dist/cjs/server/certs/cert.key +0 -30
  121. package/dist/cjs/server/certs/cert.pfx +0 -0
  122. package/dist/cjs/server/certs/rootCA.crt +0 -24
  123. package/dist/cjs/server/certs/rootCA.key +0 -30
  124. package/dist/cjs/server/certs/rootCA.srl +0 -1
  125. package/dist/esm/server/certs/cert.crt +0 -25
  126. package/dist/esm/server/certs/cert.csr +0 -18
  127. package/dist/esm/server/certs/cert.ext +0 -7
  128. package/dist/esm/server/certs/cert.key +0 -30
  129. package/dist/esm/server/certs/cert.pfx +0 -0
  130. package/dist/esm/server/certs/rootCA.crt +0 -24
  131. package/dist/esm/server/certs/rootCA.key +0 -30
  132. package/dist/esm/server/certs/rootCA.srl +0 -1
@@ -0,0 +1 @@
1
+ /*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[5820],{5820:(e,i,l)=>{l.d(i,{createArchitectureServices:()=>c.S});var c=l(3738);l(9932)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[2960],{576:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>d,contentTitle:()=>s,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>o});const a=JSON.parse('{"id":"api/variables/prettierConfig","title":"prettierConfig","description":"Type Declaration","source":"@site/docs/api/variables/prettierConfig.md","sourceDirName":"api/variables","slug":"/api/variables/prettierConfig","permalink":"/cli/api/variables/prettierConfig","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/variables/prettierConfig.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"lintStagedConfig","permalink":"/cli/api/variables/lintStagedConfig"},"next":{"title":"stylelintConfig","permalink":"/cli/api/variables/stylelintConfig"}}');var l=n(6070),t=n(116);const r={},s="prettierConfig",d={},o=[{value:"Type Declaration",id:"type-declaration",level:2},{value:"printWidth",id:"printwidth",level:3},{value:"semi",id:"semi",level:3},{value:"singleQuote",id:"singlequote",level:3},{value:"tabWidth",id:"tabwidth",level:3},{value:"trailingComma",id:"trailingcomma",level:3},{value:"useTabs",id:"usetabs",level:3}];function c(e){const i={code:"code",h1:"h1",h2:"h2",h3:"h3",header:"header",pre:"pre",...(0,t.R)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.header,{children:(0,l.jsx)(i.h1,{id:"prettierconfig",children:"prettierConfig"})}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"prettierConfig: {\n printWidth: number;\n semi: boolean;\n singleQuote: boolean;\n tabWidth: number;\n trailingComma: string;\n useTabs: boolean;\n};\n"})}),"\n",(0,l.jsx)(i.h2,{id:"type-declaration",children:"Type Declaration"}),"\n",(0,l.jsx)(i.h3,{id:"printwidth",children:"printWidth"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"printWidth: number = 80;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"semi",children:"semi"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"semi: boolean = true;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"singlequote",children:"singleQuote"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"singleQuote: boolean = true;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"tabwidth",children:"tabWidth"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"tabWidth: number = 2;\n"})}),"\n",(0,l.jsx)(i.h3,{id:"trailingcomma",children:"trailingComma"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"trailingComma: string = 'all';\n"})}),"\n",(0,l.jsx)(i.h3,{id:"usetabs",children:"useTabs"}),"\n",(0,l.jsx)(i.pre,{children:(0,l.jsx)(i.code,{className:"language-ts",children:"useTabs: boolean = false;\n"})})]})}function h(e={}){const{wrapper:i}={...(0,t.R)(),...e.components};return i?(0,l.jsx)(i,{...e,children:(0,l.jsx)(c,{...e})}):c(e)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[594],{6184:(i,e,s)=>{s.r(e),s.d(e,{assets:()=>a,contentTitle:()=>d,default:()=>j,frontMatter:()=>t,metadata:()=>l,toc:()=>c});const l=JSON.parse('{"id":"api/index","title":"Cli API","description":"Functions","source":"@site/docs/api/index.md","sourceDirName":"api","slug":"/api/","permalink":"/cli/api/","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/api/index.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","next":{"title":"loadRoutes()","permalink":"/cli/api/functions/loadRoutes"}}');var n=s(6070),r=s(116);const t={},d="Cli API",a={},c=[{value:"Functions",id:"functions",level:2},{value:"Type Aliases",id:"type-aliases",level:2},{value:"Variables",id:"variables",level:2}];function h(i){const e={a:"a",h1:"h1",h2:"h2",header:"header",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...i.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(e.header,{children:(0,n.jsx)(e.h1,{id:"cli-api",children:"Cli API"})}),"\n",(0,n.jsx)(e.h2,{id:"functions",children:"Functions"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Function"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/functions/loadRoutes",children:"loadRoutes"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"type-aliases",children:"Type Aliases"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Type Alias"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsx)(e.tbody,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/type-aliases/LIB_NAME",children:"LIB_NAME"})}),(0,n.jsx)(e.td,{children:"-"})]})})]}),"\n",(0,n.jsx)(e.h2,{id:"variables",children:"Variables"}),"\n",(0,n.jsxs)(e.table,{children:[(0,n.jsx)(e.thead,{children:(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.th,{children:"Variable"}),(0,n.jsx)(e.th,{children:"Description"})]})}),(0,n.jsxs)(e.tbody,{children:[(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/babelConfig",children:"babelConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/commitlintConfig",children:"commitlintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintBaseConfig",children:"eslintBaseConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/eslintConfig",children:"eslintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestConfig",children:"jestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/jestNodeConfig",children:"jestNodeConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/lintStagedConfig",children:"lintStagedConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/prettierConfig",children:"prettierConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/stylelintConfig",children:"stylelintConfig"})}),(0,n.jsx)(e.td,{children:"-"})]}),(0,n.jsxs)(e.tr,{children:[(0,n.jsx)(e.td,{children:(0,n.jsx)(e.a,{href:"/cli/api/variables/vitestConfig",children:"vitestConfig"})}),(0,n.jsx)(e.td,{children:"-"})]})]})]})]})}function j(i={}){const{wrapper:e}={...(0,r.R)(),...i.components};return e?(0,n.jsx)(e,{...i,children:(0,n.jsx)(h,{...i})}):h(i)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[9647],{1511:(e,l,a)=>{a.r(l),a.d(l,{default:()=>n});a(758);var i=a(3526),s=a(1354),r=a(9765),u=a(1977),c=a(9060),h=a(6070);function n(e){return(0,h.jsx)(r.e3,{className:(0,i.A)(s.G.wrapper.docsPages),children:(0,h.jsx)(c.A,{children:(0,u.v)(e.route.routes)})})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(globalThis.webpackChunk_elliemae_pui_cli=globalThis.webpackChunk_elliemae_pui_cli||[]).push([[1091],{4432:(e,i,n)=>{n.r(i),n.d(i,{assets:()=>o,contentTitle:()=>c,default:()=>a,frontMatter:()=>t,metadata:()=>s,toc:()=>d});const s=JSON.parse('{"id":"ssl-certificate-setup","title":"Trust SSL Certificate Guide","description":"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings.","source":"@site/docs/ssl-certificate-setup.md","sourceDirName":".","slug":"/ssl-certificate-setup","permalink":"/cli/ssl-certificate-setup","draft":false,"unlisted":false,"editUrl":"https://git.elliemae.io/platform-ui/pui-cli.git/docs/ssl-certificate-setup.md","tags":[],"version":"current","frontMatter":{},"sidebar":"docsSidebar","previous":{"title":"PUI CLI Documentation","permalink":"/cli/"},"next":{"title":"Usage Guide","permalink":"/cli/usage-guide"}}');var r=n(6070),l=n(116);const t={},c="Trust SSL Certificate Guide",o={},d=[{value:"\ud83d\udccb Table of Contents",id:"-table-of-contents",level:2},{value:"\ud83c\udf4e macOS",id:"-macos",level:2},{value:"Via Keychain Access",id:"via-keychain-access",level:3},{value:"Remove Certificate from macOS",id:"remove-certificate-from-macos",level:3},{value:"\ud83e\ude9f Windows",id:"-windows",level:2},{value:"Via Certificate Manager",id:"via-certificate-manager",level:3},{value:"Remove Certificate from Windows",id:"remove-certificate-from-windows",level:3},{value:"\ud83e\udd8a Firefox (All Platforms)",id:"-firefox-all-platforms",level:2},{value:"Import Certificate to Firefox",id:"import-certificate-to-firefox",level:3},{value:"Remove Certificate from Firefox",id:"remove-certificate-from-firefox",level:3},{value:"Troubleshooting",id:"troubleshooting",level:2},{value:"Still seeing "Not Secure" warning?",id:"still-seeing-not-secure-warning",level:3},{value:"Browser not trusting certificate?",id:"browser-not-trusting-certificate",level:3},{value:"Certificate Details",id:"certificate-details",level:2},{value:"Security Notes",id:"security-notes",level:2},{value:"Regenerate Certificates",id:"regenerate-certificates",level:2}];function h(e){const i={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,l.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.header,{children:(0,r.jsx)(i.h1,{id:"trust-ssl-certificate-guide",children:"Trust SSL Certificate Guide"})}),"\n",(0,r.jsx)(i.p,{children:"This guide explains how to trust the self-signed CA certificate on different operating systems and browsers so your HTTPS connection works without warnings."}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-table-of-contents",children:"\ud83d\udccb Table of Contents"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-macos",children:"macOS"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-windows",children:"Windows"})}),"\n",(0,r.jsx)(i.li,{children:(0,r.jsx)(i.a,{href:"#-firefox-all-platforms",children:"Firefox (All Platforms)"})}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-macos",children:"\ud83c\udf4e macOS"}),"\n",(0,r.jsx)(i.h3,{id:"via-keychain-access",children:"Via Keychain Access"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Locate the certificate file:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Finder and navigate to the ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Find the file ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"})," ",(0,r.jsx)(i.code,{children:"ca-cert.pem"})]}),"\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, select ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Add"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password if prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Trust the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Cmd + Space"})," and type ",(0,r.jsx)(i.strong,{children:'"Keychain Access"'})," to open the app"]}),"\n",(0,r.jsxs)(i.li,{children:["In the left sidebar, click ",(0,r.jsx)(i.strong,{children:'"login"'})," keychain"]}),"\n",(0,r.jsxs)(i.li,{children:["In the bottom-left category selector, choose ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Search for ",(0,r.jsx)(i.strong,{children:'"localhost"'})," in the search box (top right)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust level:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Double-click"}),' the "localhost" certificate']}),"\n",(0,r.jsxs)(i.li,{children:["Click the ",(0,r.jsx)(i.strong,{children:"\u25b6 triangle"})," next to ",(0,r.jsx)(i.strong,{children:'"Trust"'})," to expand the section"]}),"\n",(0,r.jsxs)(i.li,{children:["Change ",(0,r.jsx)(i.strong,{children:'"When using this certificate"'})," dropdown to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Optionally, set ",(0,r.jsx)(i.strong,{children:'"Secure Sockets Layer (SSL)"'})," to ",(0,r.jsx)(i.strong,{children:'"Always Trust"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Save changes:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Close the certificate window"}),"\n",(0,r.jsx)(i.li,{children:"Enter your macOS password when prompted"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (important!)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-macos",children:"Remove Certificate from macOS"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Keychain Access:"})}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsx)(i.li,{children:"Open Keychain Access"}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:'Delete "localhost"'})]}),"\n",(0,r.jsx)(i.li,{children:"Enter password"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Via Command Line:"})}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:'# From login keychain\nsecurity delete-certificate -c "localhost" ~/Library/Keychains/login.keychain-db\n'})}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-windows",children:"\ud83e\ude9f Windows"}),"\n",(0,r.jsx)(i.h3,{id:"via-certificate-manager",children:"Via Certificate Manager"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Certificate Manager:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Press ",(0,r.jsx)(i.code,{children:"Win + R"})," to open Run dialog"]}),"\n",(0,r.jsxs)(i.li,{children:["Type ",(0,r.jsx)(i.code,{children:"certmgr.msc"})," and press Enter"]}),"\n",(0,r.jsx)(i.li,{children:'Or search for "Manage user certificates" in Start menu'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import the certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the left panel, expand ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Right-click on ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:"Action"})," \u2192 ",(0,r.jsx)(i.strong,{children:"All Tasks"})," \u2192 ",(0,r.jsx)(i.strong,{children:"Import..."})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Certificate Import Wizard:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Browse..."'})," and navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Change file type filter to ",(0,r.jsxs)(i.strong,{children:['"All Files (',(0,r.jsx)(i.em,{children:"."}),')"']})]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})," then ",(0,r.jsx)(i.strong,{children:'"Next"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Choose certificate store:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:'"Place all certificates in the following store"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Ensure it says ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Next"'})," then ",(0,r.jsx)(i.strong,{children:'"Finish"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})," on the success message"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify installation:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In Certificate Manager, navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'You should see "localhost" or "Development" in the list'}),"\n",(0,r.jsx)(i.li,{children:"Double-click to view details"}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," (close all windows completely)"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-windows",children:"Remove Certificate from Windows"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Open Certificate Manager (",(0,r.jsx)(i.code,{children:"certmgr.msc"}),")"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to ",(0,r.jsx)(i.strong,{children:'"Trusted Root Certification Authorities"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"Certificates"'})]}),"\n",(0,r.jsx)(i.li,{children:'Find "localhost" certificate'}),"\n",(0,r.jsxs)(i.li,{children:["Right-click \u2192 ",(0,r.jsx)(i.strong,{children:"Delete"})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"-firefox-all-platforms",children:"\ud83e\udd8a Firefox (All Platforms)"}),"\n",(0,r.jsx)(i.p,{children:"Firefox uses its own certificate store, independent of the operating system."}),"\n",(0,r.jsx)(i.h3,{id:"import-certificate-to-firefox",children:"Import Certificate to Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Open Firefox Settings:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click menu (\u2630) \u2192 ",(0,r.jsx)(i.strong,{children:"Settings"})]}),"\n",(0,r.jsxs)(i.li,{children:["Or type ",(0,r.jsx)(i.code,{children:"about:preferences"})," in the address bar"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Navigate to Privacy & Security:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Privacy & Security"'})," in the left sidebar"]}),"\n",(0,r.jsxs)(i.li,{children:["Or go directly to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Access Certificates:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Scroll down to the ",(0,r.jsx)(i.strong,{children:'"Security"'})," section"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Certificates"'})," heading"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates..."'})," button"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Import CA Certificate:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Certificate Manager window, click the ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Import..."'})," button"]}),"\n",(0,r.jsxs)(i.li,{children:["Navigate to your ",(0,r.jsx)(i.code,{children:"certs"})," folder"]}),"\n",(0,r.jsxs)(i.li,{children:["Select ",(0,r.jsx)(i.strong,{children:(0,r.jsx)(i.code,{children:"ca-cert.pem"})})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Open"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Set trust options:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the popup dialog, check:","\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify websites"'})]}),"\n",(0,r.jsxs)(i.li,{children:["\u2705 ",(0,r.jsx)(i.strong,{children:'"Trust this CA to identify email users"'})," (optional)"]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"OK"'})]}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Verify import:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["In the Authorities tab, look for ",(0,r.jsx)(i.strong,{children:'"Development"'})," or organization name"]}),"\n",(0,r.jsx)(i.li,{children:'Expand it to find "localhost"'}),"\n"]}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Close and restart Firefox"})}),"\n"]}),"\n",(0,r.jsxs)(i.li,{children:["\n",(0,r.jsxs)(i.p,{children:[(0,r.jsx)(i.strong,{children:"Test:"})," Visit ",(0,r.jsx)(i.code,{children:"https://localhost:8443"})," - should show secure! \ud83d\udd12"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"remove-certificate-from-firefox",children:"Remove Certificate from Firefox"}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:["Go to ",(0,r.jsx)(i.code,{children:"about:preferences#privacy"})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"View Certificates"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Click ",(0,r.jsx)(i.strong,{children:'"Authorities"'})," tab"]}),"\n",(0,r.jsxs)(i.li,{children:["Find ",(0,r.jsx)(i.strong,{children:'"Development"'})," \u2192 ",(0,r.jsx)(i.strong,{children:'"localhost"'})]}),"\n",(0,r.jsxs)(i.li,{children:["Select it and click ",(0,r.jsx)(i.strong,{children:'"Delete or Distrust..."'})]}),"\n",(0,r.jsx)(i.li,{children:"Confirm deletion"}),"\n"]}),"\n",(0,r.jsx)(i.hr,{}),"\n",(0,r.jsx)(i.h2,{id:"troubleshooting",children:"Troubleshooting"}),"\n",(0,r.jsx)(i.h3,{id:"still-seeing-not-secure-warning",children:'Still seeing "Not Secure" warning?'}),"\n",(0,r.jsxs)(i.ol,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Restart your browser"})," - Browsers cache certificate trust settings"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check the certificate is in login keychain"})," - Look in Keychain Access"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Verify trust settings"}),' - Must be set to "Always Trust"']}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Clear browser cache"})," - Especially SSL state"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.strong,{children:"Check hostname"})," - Must use ",(0,r.jsx)(i.code,{children:"localhost"}),", not ",(0,r.jsx)(i.code,{children:"127.0.0.1"})]}),"\n"]}),"\n",(0,r.jsx)(i.h3,{id:"browser-not-trusting-certificate",children:"Browser not trusting certificate?"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Edge (Windows):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the Windows certificate store"}),"\n",(0,r.jsx)(i.li,{children:'Make sure you imported to "Trusted Root Certification Authorities"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Chrome/Safari (macOS):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"These browsers use the macOS Keychain"}),"\n",(0,r.jsx)(i.li,{children:'Make sure certificate is in "login" keychain'}),"\n",(0,r.jsx)(i.li,{children:'Trust must be set to "Always Trust"'}),"\n",(0,r.jsx)(i.li,{children:"Restart the browser completely"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Firefox (All Platforms):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Firefox has its own certificate store"}),"\n",(0,r.jsxs)(i.li,{children:["See ",(0,r.jsx)(i.a,{href:"#firefox-all-platforms",children:"Firefox section"})," above"]}),"\n",(0,r.jsx)(i.li,{children:"Must import the certificate directly into Firefox"}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"certificate-details",children:"Certificate Details"}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"CA Certificate (ca-cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Root CA Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 5 years (1825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: Sign server certificates"}),"\n",(0,r.jsx)(i.li,{children:"Trust: Add to system trust store"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Server Certificate (cert.pem):"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Type: Server Certificate"}),"\n",(0,r.jsx)(i.li,{children:"Validity: 2+ years (825 days)"}),"\n",(0,r.jsx)(i.li,{children:"Signed by: Our CA"}),"\n",(0,r.jsx)(i.li,{children:"Hostnames: localhost, *.localhost, 127.0.0.1"}),"\n",(0,r.jsx)(i.li,{children:"Purpose: HTTPS server"}),"\n"]}),"\n",(0,r.jsx)(i.p,{children:(0,r.jsx)(i.strong,{children:"Private Keys:"})}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"ca-key.pem"}),": CA private key (password protected)"]}),"\n",(0,r.jsxs)(i.li,{children:[(0,r.jsx)(i.code,{children:"key.pem"}),": Server private key (no password for convenience)"]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"security-notes",children:"Security Notes"}),"\n",(0,r.jsxs)(i.p,{children:["\u26a0\ufe0f ",(0,r.jsx)(i.strong,{children:"These certificates are for local development only!"})]}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Never use these certificates in production"}),"\n",(0,r.jsxs)(i.li,{children:["Keep ",(0,r.jsx)(i.code,{children:"ca-key.pem"})," secure (it can sign certificates)"]}),"\n",(0,r.jsxs)(i.li,{children:["The CA password is: ",(0,r.jsx)(i.code,{children:"uiplatform"})," (change if needed)"]}),"\n",(0,r.jsx)(i.li,{children:"Don't commit private keys to version control"}),"\n",(0,r.jsxs)(i.li,{children:["Add to ",(0,r.jsx)(i.code,{children:".gitignore"}),": ",(0,r.jsx)(i.code,{children:"*.pem"}),", ",(0,r.jsx)(i.code,{children:"*.key"})]}),"\n"]}),"\n",(0,r.jsx)(i.h2,{id:"regenerate-certificates",children:"Regenerate Certificates"}),"\n",(0,r.jsx)(i.p,{children:"If you need to regenerate the certificates:"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{className:"language-bash",children:"cd ssl\n./generate-certs.sh\n"})}),"\n",(0,r.jsx)(i.p,{children:"Then re-trust the new CA certificate using the steps above."})]})}function a(e={}){const{wrapper:i}={...(0,l.R)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}}}]);