【问题标题】:NodeJs - Error: error:0906D06C:PEM routines:PEM_read_bio:no start lineNodeJs - 错误:错误:0906D06C:PEM 例程:PEM_read_bio:没有开始行
【发布时间】:2024-01-22 08:44:01
【问题描述】:

我正在尝试在 ec2 上使用 godaddy ssl 证书。但是得到这个错误。

错误:error:0906D06C:PEMroutines:PEM_read_bio:no start line

我使用的流程。

  • openssl req -new -newkey rsa:2048 -nodes -keyout foo.com.key -out foo.com.csr

  • 使用 foo.com.csr 生成godaddy,得到3个文件。

    3b8bc5516b18ff0.crt3b8bc5516b18ff0.pemgd_bundle-g2-g1.crt

var privateKey = fs.readFileSync('3b8bc5516b18ff0.pem');
var certificate = fs.readFileSync('3b8bc5516b18ff0.crt');
/**
* And converted gd_bundele to gd0, gd1, gd2
*/
var credentials = {
  key: privateKey,
  cert: certificate,
  ca: [
    fs.readFileSync('gd0.crt'),
    fs.readFileSync('gd1.crt'),
    fs.readFileSync('gd2.crt')
  ]
};


//http.createServer(app);
var httpsServer = https.createServer(credentials, app);

【问题讨论】:

    标签: node.js ssl amazon-ec2 https


    【解决方案1】:

    我得到了解决方案。

    1. openssl req -new -newkey rsa:2048 -nodes -keyout foo.com.pem -out foo.com.csr

    2. foo.com.pem 应作为私钥传递。

    注意:重要的是保存创建 csr 的密钥并将其发送给 godaddy(我称为 foo.com.pem)。

    【讨论】:

    • "...保存创建 csr 的密钥并发送给 Godaddy..." - 你不应该发送你的CA 的私钥,但只有 CSR。顾名思义,私钥应保密
    最近更新 更多