我有一个免费的GeoTrust ssl证书,为期一个月 . 我将证书文本复制到记事本中并将其保存为带有pem扩展名的ansi编码文件 .

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

当我将Nodejs指向这些文件时,它会给出错误:PEM例程:PEM_read_bio:无启动

这是节点代码:

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连接时出现未知的SSL协议错误:443