我在 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("path/to/key/file.key");
var CERT_FILE = fs.readFileSync("path/to/crt/file.crt");
var INT_CERT_FILE = fs.readFileSync("path/to/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 无法识别其身份并要求手动信任它。我该如何解决这个问题?
谢谢,