在Express应用程序上设置StartSSL证书

时间:2017-10-23 07:40:05

标签: node.js express ssl https

我正在学习如何在Express上使用HTTPS,例如,我在StartSSL生成的证书。我试着看看那里的其他解决方案,但似乎没有什么对我有用。

好的,所以我在StartSSL中生成了一个.pem文件,其中保存了一个密钥。我已将.pem文件放在Express应用程序文件夹中,并且我尝试使用此代码设置工作服务器:

const app = require('express')();
const fs = require('fs');
const https = require('https');

// Setup HTTPS
const httpsPort = 3443;
const options = {
  key: "my key in plain text",
  cert: fs.readFileSync("./cert.pem")
};
var secureServer = https.createServer(options, app).listen(httpsPort, () => {
    console.log(">> App listening at port "+httpsPort);
});

我也尝试过使用.crt证书,但似乎没有任何效果。它会引发以下错误:

 C:\some\path\test>node index.js
 _tls_common.js:85
       c.context.setKey(options.key, options.passphrase);
                 ^

 Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
     at Error (native)
     at Object.createSecureContext (_tls_common.js:85:17)
     at Server (_tls_wrap.js:776:25)
     at new Server (https.js:26:14)
     at Object.exports.createServer (https.js:47:10)
     at Object.<anonymous> (C:\some\path\test\index.js:18:26)
     at Module._compile (module.js:570:32)
     at Object.Module._extensions..js (module.js:579:10)
     at Module.load (module.js:487:32)
     at tryModuleLoad (module.js:446:12)

我做错了什么,伙计们?谢谢!

编辑:

还尝试将密码放在带有以下内容的.pem文件中:

-----BEGIN PRIVATE KEY-----
(my key)
-----END PRIVATE KEY-----

这引发了另一个错误,可能更多与fs相关:

Error: error:0906D064:PEM routines:PEM_read_bio:bad base64 decode

0 个答案:

没有答案