Проблема в том, что вы пытаетесь создать закрытый ключ из файла .pem с открытым ключом. Я полагаю, что именно поэтому вы получаете ошибку из кода создания сервера.
Этот код работает, например:
const fs = require('fs');
const https = require('https');
const privateKey = fs.readFileSync('./privateKey.key', 'utf8');
const certificate = fs.readFileSync('./certificate.crt', 'utf8');
const credentials = { key: privateKey, cert: certificate };
const express = require('express');
const app = express();
// Add test route here.
app.get("/test", (req, res) => {
res.status(200).send("All good");
})
const server = https.createServer(credentials, app);
server.listen(8443);
Принимая во внимание, что если мы попробуем:
const fs = require('fs');
const https = require('https');
const privateKey = fs.readFileSync('./pubkey.pem', 'utf8');
const certificate = fs.readFileSync('./certificate.crt', 'utf8');
const credentials = {key: privateKey, cert: certificate};
const express = require('express');
const app = express();
// Add test route here.
app.get("/test", (req, res) => {
res.status(200).send("All good");
})
const server = https.createServer(credentials, app);
server.listen(8443);
Мы получим ошибку:
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
Вам необходим закрытый ключ для создания вашего https-сервера, которого нет в сертификате.