@@ -59,15 +59,17 @@ export async function resolveCertificate(
5959
6060 if ( typeof options === "object" && options . reuse ) {
6161 // Reuse previously autogenerated certificates if exists
62- const certExists = await pathExists ( certificateDirectory + "cert.pem" ) ;
63- const keyExists = await pathExists ( certificateDirectory + "cert-key.pem" ) ;
62+ const certsExists = await pathExists ( certificateDirectory + "certs.json" ) ;
6463
65- if ( certExists && keyExists ) {
66- const cert = await fs . readFile ( certificateDirectory + "cert.pem" ) ;
67- const key = await fs . readFile ( certificateDirectory + "cert-key.pem" ) ;
64+ if ( certsExists ) {
65+ const certs = JSON . parse (
66+ ( await fs . readFile ( certificateDirectory + "certs.json" ) ) . toString (
67+ "utf8" ,
68+ ) ,
69+ ) ;
6870 return {
69- cert : cert . toString ( "utf8" ) ,
70- key : key . toString ( "utf8" ) ,
71+ cert : certs . cert + certs . caCert ,
72+ key : certs . key ,
7173 } ;
7274 }
7375 }
@@ -98,7 +100,8 @@ export async function resolveCertificate(
98100 cert : forge . pki . certificateToPem ( _cert ! ) ,
99101 } ;
100102 } else {
101- const { cert } = await generateCertificates ( options ) ;
103+ const { cert, ca } = await generateCertificates ( options ) ;
104+ cert . cert += ca . cert ;
102105 https = cert ;
103106 }
104107
@@ -124,8 +127,6 @@ async function generateCertificates(
124127 const ca = await generateCACert ( caOptions ) ;
125128
126129 await mkdir ( resolve ( certificateDirectory ) , { recursive : true } ) ;
127- await writeFile ( resolve ( certificateDirectory + "ca.pem" ) , ca . cert ) ;
128- await writeFile ( resolve ( certificateDirectory + "ca-key.pem" ) , ca . key ) ;
129130
130131 const domains = Array . isArray ( options . domains )
131132 ? options . domains
@@ -140,12 +141,22 @@ async function generateCertificates(
140141 } ) ;
141142
142143 await writeFile (
143- resolve ( certificateDirectory + "cert.pem" ) ,
144- cert . cert + ca . cert ,
144+ resolve ( certificateDirectory + "certs.json" ) ,
145+ JSON . stringify ( {
146+ cert : cert . cert ,
147+ key : cert . key ,
148+ caCert : ca . cert ,
149+ caKey : ca . key ,
150+ } ) ,
145151 ) ;
146- await writeFile ( resolve ( certificateDirectory + "cert-key.pem" ) , cert . key ) ;
147152
148- return { ca, cert } ;
153+ return {
154+ ca,
155+ cert : {
156+ cert : cert . cert ,
157+ key : cert . key ,
158+ } ,
159+ } ;
149160}
150161
151162async function resolveCert ( options : HTTPSOptions ) : Promise < Certificate > {
0 commit comments