21

I want to create a https server for my localhost.
Node JS documentation provides out of the box solution but I have some confusion with it. Example

var https = require('https');
var fs = require('fs');

var options = {
  key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'),
  cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem')
};

https.createServer(options, function (req, res) {
  res.writeHead(200);
  res.end("hello world\n");
}).listen(8000);

Or

var options = {
  pfx: fs.readFileSync('server.pfx')
};

Here how would I get key, cert or pfx for my localhost?

4

3 回答 3

39

出于开发目的,您可以创建一个自我认证的证书。以下是在基于 linux 的系统上执行此操作的方法:

一、生成私钥

openssl genrsa 1024 > key.pem

这将在文件 key.pem 中存储一个 1024 位 RSA 密钥

然后,使用该密钥生成 SSL 证书:

openssl req -x509 -new -key key.pem > key-cert.pem

现在,您可以在传递给 createServer 的选项中使用 key.pem 和 key-cert.pem。

于 2013-05-17T16:13:24.277 回答
2

该文件是由,有时是 ( ) 文件.pfx组成的“捆绑包” 。key.pemcert.pemCA file

您应该获得(支付)/制作(测试等)https证书。

于 2013-05-17T14:28:50.963 回答
0

这称为自签名证书,您可以通过 openssl 使用一个命令生成它。只需输入:

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

在终端。

于 2019-05-10T21:56:20.380 回答