我正在尝试将证书添加到我的Nodejs Express服务中,以使HTTPS正常工作。我按照以下答案开始:Enabling HTTPS on express.js
尽管我只有.cer
和.txt
(我的密钥)文件,所以我只是手动将.txt
重命名为.key
。然后,我在上面的答案中更改了行:
-- HIS ANSWER:
var privateKey = fs.readFileSync('sslcert/server.key', 'utf8');
var certificate = fs.readFileSync('sslcert/server.crt', 'utf8');
-- MY CHANGE:
var privateKey = fs.readFileSync('server.key', 'utf8');
var certificate = fs.readFileSync('server.cer', 'utf8');
我的.cer
如下:
-----BEGIN PKCS7-----
JHfw2AWawdDH...
...hd8h28HDFWA
-----END PKCS7-----
我的.key
如下:
-----BEGIN NEW CERTIFICATE REQUEST-----
HDW28HD82HD2...
...82FHJD12
-----END NEW CERTIFICATE REQUEST-----
但是当我开始服务时,行var httpsServer = https.createServer(credentials, app);
会引发此错误:
c.context.setCert(cert);
^
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
对于此问题,我尝试了许多其他答案,但仍无法正常工作。我对证书和HTTPS知之甚少,因此任何解释都将大有帮助:)