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年)和密钥对,您可以在您发布的代码段中使用。

翻译自:https://stackoverflow.com/questions/12871565/how-to-create-pem-files-for-https-web-server

转载注明原文:node.js – 如何为https Web服务器创建.pem文件