在Node express应用程序中安装Entrust SSL证书

我不知道如何传递给定的证书来启动https服务器。 Entrust提供了以下文件:
1.根证书。 (。文本)
2.链接根证书文件。 (。文本)
3.连锁证书。 (。文本)
4.服务器证书。 (.CRT)

我的快递应用程序目前需要

exports.key1 = { key:'./server/config/keys/server.key', // ? cert:'./server/config/keys/server.crt', // ? ca:'./server/config/keys/ca.csr' //given to entrust to generate their cert }; 

我不知道如何修改密钥来匹配新的文件。

一旦你连接了你的证书,这个指令由你的发行者提供,你需要从文件系统读取它们,并把它们提供给http.createServer()来创build一个SSL服务器对象。 从文档:

 var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('path/to/agent-key.pem'), cert: fs.readFileSync('path/to/agent-cert.pem') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); 

通常情况下,你会将选项块封装在一个标志中,以检查你是在生产还是在开发中。 对于生产,您将从安全的预定义path中读取证书,而为了开发,您可以生成这些证书并将其提供到根项目文件夹fixtures/ ,如果更方便,也可以与项目存储库一起分发。 使用以下内容创build一个自我颁发的开发证书:

 openssl req -batch \ -new -x509 -sha256 -newkey rsa:2048 -nodes -days 365 \ -keyout fixtures/dev.key \ -out fixtures/dev.crt;