@@ -59,15 +59,17 @@ export async function resolveCertificate(
59
59
60
60
if ( typeof options === "object" && options . reuse ) {
61
61
// 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" ) ;
64
63
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
+ ) ;
68
70
return {
69
- cert : cert . toString ( "utf8" ) ,
70
- key : key . toString ( "utf8" ) ,
71
+ cert : certs . cert + certs . caCert ,
72
+ key : certs . key ,
71
73
} ;
72
74
}
73
75
}
@@ -98,7 +100,8 @@ export async function resolveCertificate(
98
100
cert : forge . pki . certificateToPem ( _cert ! ) ,
99
101
} ;
100
102
} else {
101
- const { cert } = await generateCertificates ( options ) ;
103
+ const { cert, ca } = await generateCertificates ( options ) ;
104
+ cert . cert += ca . cert ;
102
105
https = cert ;
103
106
}
104
107
@@ -124,8 +127,6 @@ async function generateCertificates(
124
127
const ca = await generateCACert ( caOptions ) ;
125
128
126
129
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 ) ;
129
130
130
131
const domains = Array . isArray ( options . domains )
131
132
? options . domains
@@ -140,12 +141,22 @@ async function generateCertificates(
140
141
} ) ;
141
142
142
143
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
+ } ) ,
145
151
) ;
146
- await writeFile ( resolve ( certificateDirectory + "cert-key.pem" ) , cert . key ) ;
147
152
148
- return { ca, cert } ;
153
+ return {
154
+ ca,
155
+ cert : {
156
+ cert : cert . cert ,
157
+ key : cert . key ,
158
+ } ,
159
+ } ;
149
160
}
150
161
151
162
async function resolveCert ( options : HTTPSOptions ) : Promise < Certificate > {
0 commit comments