如何创建。质子交换膜用于HTTPS Web服务器文件(How to create .pem file

2019-06-18 12:02发布

我使用的是快速框架的Node.js创建一个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?

Answer 1:

你需要两个文件是一个PEM编码的SSL证书和私钥。 PEM编码的证书和密钥编码的文本与看起来像开始/结束分隔符的Base64 -----BEGIN RSA PRIVATE KEY-----或相似。

要建立首先需要生成私钥和证书签名请求,或企业社会责任(其中还包含你的公钥)的SSL证书。你可以用各种不同的方式做到这一点,但这里是如何在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年)和密钥对,你可以在代码中使用片断您发布。



Answer 2:

只要按照步骤操作:

  1. 创建要在其中存储密钥和证书文件夹:

    mkdir conf


  1. 进入该目录:

    cd conf


  1. 抓住这个ca.cnf文件作为配置快捷键的使用方法:

    wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/ca.cnf


  1. 使用此配置创建一个新的证书颁发机构:

    openssl req -new -x509 -days 9999 -config ca.cnf -keyout ca-key.pem -out ca-cert.pem


  1. 现在,我们有我们的认证机构ca-key.pemca-cert.pem ,让我们为服务器生成私钥:

    openssl genrsa -out key.pem 4096


  1. 抓住这个server.cnf文件作为配置快捷键的使用方法:

    wget https://raw.githubusercontent.com/anders94/https-authorized-clients/master/keys/server.cnf


  1. 生成使用该配置的证书签名请求:

    openssl req -new -config server.cnf -key key.pem -out csr.pem


  1. 签名的请求:

    openssl x509 -req -extfile server.cnf -days 999 -passin "pass:password" -in csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem

我发现这个方法在这里 ,一起关于如何使用这些证书的详细信息。



文章来源: How to create .pem files for https web server