Express和SSL使用

我已经购买了一个Comodo SSL证书来制作SSL服务器。 我有这些文件。

 AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt mysite.com.key mysite.com.csr mysite_com.crt 

根据很多文件,我需要.pem文件。 但是没有人在说什么.pem文件?

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

如果有教程,这将是非常棒的。

试试这个答案 。 PEM只是一种比其他SSL格式更为常见的格式。

Comodo可能已经为您提供了.pem文件,但是只是将其命名为.crt。
或者您可以请求.pem文件来代替DER格式的文件。
或者,您可以使用OpenSSL将格式转换为另一种格式。

 openssl rsa -inform DER -outform PEM -in mysite.com.key -out mysite.com.key.pem openssl x509 -inform DER -outform PEM -in mysite.com.crt -out mysite.com.crt.pem 

简单地启动ssl或使用PEM NPM的简单方法

 var https = require('https'), connect = require('connect'), fs = require("fs"); var port = 3000; var options = { key: fs.readFileSync('/key.pem'), cert: fs.readFileSync('/cert.pem'), ca: fs.readFileSync('/ca.pem') }; var app = express(); /* express setting */ server = require('https').createServer(options, app), server.listen(port); 

PEM npm是使用SSL启动节点服务器的最简单方法

 $> npm install pem var https = require('https'), pem = require('pem'), express = require('express'); pem.createCertificate({days:1, selfSigned:true}, function(err, keys){ var app = express(); https.createServer({key: keys.serviceKey, cert: keys.certificate}, app).listen(443); });