Node.js/Express.js链证书无效。

9 浏览
0 Comments

Node.js/Express.js链证书无效。

我在Express中有一个SSL服务器,在所有浏览器上都无法工作(除非用户手动信任该网站),因为一些浏览器需要链证书(我们有自己的中间证书)。我将我们的中间和链证书放在一个.crt文件中。链+中间证书保存在INT_CERT_FILE变量中。但似乎不起作用。我正在使用http://www.digicert.com/help进行检查,以及运行openssl s_client -connect tasker.adnxs.net:443 -showcerts | grep "^ ",但似乎没有返回中间+链证书。

这是我设置的方式:

var fs = require("fs");
var https = require("https");
var express = require("express");
var KEY_FILE = fs.readFileSync("key/file.key");
var CERT_FILE = fs.readFileSync("crt/file.crt");
var INT_CERT_FILE = fs.readFileSync("intermediate and chain crt.crt");
var _app_https = express();
var _server_https = null;
_server_https = https.createServer({
    key: KEY_FILE,
    cert: CERT_FILE,
    ca: INT_CERT_FILE
}, _app_https).listen(443);

在Firefox上访问时,Firefox无法识别其身份并要求手动信任。我该如何解决这个问题?

谢谢,

0