我想为我的localhost创建一个https服务器 Node JS文档提供了现成的解决方案,但我对它有些困惑。 示例
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);
或
var options = {
pfx: fs.readFileSync('server.pfx')
};
这里我如何获得我的localhost的密钥,证书或pfx?
答案 0 :(得分: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。
答案 1 :(得分:2)
.pfx
文件是由key.pem
,cert.pem
和有时(CA file
)文件组成的“捆绑”。
您应该获得(支付)/ make(测试等)https证书。
答案 2 :(得分:0)
这称为自签名证书,您可以通过openssl用一个命令生成它。只需输入:
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
在终端中。