我已经使用cygwin安装了openSSl并生成了像这样的自我认证证书
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out csr.pem
openssl x509 -req -in csr.pem -signkey server.key -out cert.pem
我试着测试我是否成功,所以我创建了一个与节点
的基本tls连接var tls=require("tls");
var fs=require("fs");
var serverOptions={
key:fs.readFileSync('C:/cygwin64/home/Matej/csr.pem'),
cert:fs.readFileSync('C:/cygwin64/home/Matej/cert.pem')
}
var server=tls.createServer(serverOptions);
server.listen(4001)
但是它犯了错误
c.context.setKey(options.key);
^
Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
我完全不明白erron是什么意思。我是否生成了密钥/证书错误?
我试过看here,但我的pem文件不包含^ M。我的证书看起来像
-----开始证书----- ... -----结束证书----- 和csr
-----开始证书申请----- ... -----结束证书请求-----