1

我从 GeoTrust 获得了 1 个月的免费 ssl 证书。我将证书文本复制到记事本中,并将其保存为带有 pem 扩展名的 ansi 编码文件。

我还将私钥保存到另一个文件中,作为带有 pem 扩展名的 ansi。

当我将 Nodejs 指向这些文件时,它会给出错误:PEMroutines:PEM_read_bio:no start

这是节点代码:

var https = require('https');
var fs = require('fs');

var options = {
    cert: fs.readFileSync('geocrt.pem'),
    key: fs.readFileSync('geokey.pem')
};

https.createServer(options, function (req, res) {
    res.writeHead(200);
    res.end("hello world\n");
}).listen(8000);

我的证书以 -----BEGIN CERTIFICATE----- 开头,以 -----END CERTIFICATE----- 结尾

我的密钥以 -----BEGIN RSA PRIVATE KEY----- 开头,以 -----END RSA PRIVATE KEY----- 结尾

这是在 Windows 上。我不知道是怎么回事。请帮忙!

更新:我想我已经走得更远了。我注意到我的证书和密钥选项因意外(手掌)而反转,但现在当我启动我的节点应用程序时它只是挂起。我从来没有让控制台记录服务器已经启动,只是一个我最终不得不打破的空白行。请帮忙!

更新 2:当我运行 app.js 时,cURL 返回此错误:

curl: (35) 连接到 localhost:443 的未知 SSL 协议错误

4

0 回答 0