node.js – 如何为https Web服务器创建.pem文件

我在Node.js中使用Express框架来创建一个Web服务器。我想传输是基于SSL的。

创建https Web服务器的代码如下。

var app = express.createServer({
  key: fs.readFileSync('./conf/key.pem'),cert: fs.readFileSync('./conf/cert.pem')
});
module.exports = app;

问题:如何创建key.pem和cert.pem所需的快递?

解决方法

您需要的两个文件是PEM编码的SSL证书和私钥。 PEM编码的证书和密钥是Base64编码文本,其开头/结束分隔符看起来像—– BEGIN RSA PRIVATE KEY —–或类似。

要创建SSL证书,您首先需要生成私钥和证书签名请求或CSR(其中还包含您的公钥)。您可以通过多种方式执行此操作,但OpenSSL中的方法如下。

openssl req -newkey rsa:2048 -new -nodes -keyout key.pem -out csr.pem

这将使您输入交互式提示以生成2048位RSA私钥和具有您选择在提示时输入的所有信息的CSR。 (注意:通用名称是您希望将域名用于访问您的网站的位置。)完成后,您通常会将此CSR提交给受信任的证书颁发机构,并在验证后您的请求将收到一个证书。

如果您不关心您的证书是否受信任(通常是为了开发目的),您只需创建自签名证书即可。为此,我们可以使用几乎相同的行,但是我们将传递两个额外的参数。

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

这将给你一个证书(有效期为10年)和密钥对,您可以在您发布的代码段中使用。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...