使用Firefox访问https://mediant.ipmail.nl时,我的客户端收到sec_error_unknown_issuer
错误消息。
我自己无法重现错误。我在Vista和XP机器上安装了FF,没有任何问题。 Ubuntu上的FF也可以正常工作。
有没有人得到同样的错误,有没有人为我提供一些线索,所以我可以告诉我的ISP更改一些设置? 证书是一种所谓的通配符SSL证书,适用于所有子域(* .ipmail.nl)。选择最便宜的那个我错了吗?
答案 0 :(得分:41)
Comodo通配符SSL证书遇到了同样的问题。阅读文档后,解决方案是确保您在配置中包含他们发送给您的证书链文件,即
SSLCertificateChainFile /etc/ssl/crt/yourSERVERNAME.ca-bundle
的完整详情
答案 1 :(得分:12)
我们遇到了这个问题,而且非常具有Firefox特效 - 只能在浏览器中重复,Safari,IE8,Chrome等都可以。
修复它需要从Comodo获取更新的证书并安装它。
不知道他们改变了什么魔法,但它绝对是Firefox不喜欢的证书中的东西。
答案 2 :(得分:6)
Firefox比其他浏览器更严格,需要正确安装中间服务器证书。这可以由购买证书的证书颁发机构提供。中间证书通常安装在与服务器证书相同的位置,并且需要在httpd.conf文件中正确输入。
虽然许多人正在惩罚Firefox,因为它(通常)独家“标记”了这一点,但它实际上证明了更高级别的安全标准。
答案 3 :(得分:6)
对于nginx这样做 使用
生成链式crt文件$ cat www.example.com.crt bundle.crt > www.example.com.chained.crt
生成的文件应该在ssl_certificate指令中使用:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate www.example.com.chained.crt;
ssl_certificate_key www.example.com.key;
...
}
答案 4 :(得分:3)
我知道这个帖子有点陈旧但我们也遇到了这个问题,并将这里的最终解决方案归档给其他人。
我们遇到了与Comodo通配符“肯定ssl”证书相同的问题。 我们使用squid-reverse SSL代理运行我们的网站,Firefox会像你说的那样抱怨“sec_error_unknown_issuer”,但其他所有浏览器都没问题。
我发现这是证书链不完整的问题。虽然Firefox确实信任根CA,但Firefox显然没有内置的中间证书之一。因此,您必须向Firefox提供整个证书链。 Comodo的支持指出:
中间证书就是 在您的站点(服务器)之间的证书或证书 证书和根证书。中间证书,或 证书,完成链条到受信任的根证书 浏览器。
使用中间证书意味着您必须完成 安装过程中的其他步骤以启用您的站点 证书要链接到受信任的根目录,而不是显示错误 有人访问您的网站时的浏览器。
这个帖子早些时候已经触及了这个问题,但是它并没有改变你这样做的方式。
首先,您必须制作一个链式证书包,然后使用您喜欢的文本编辑器并按正确(反向)顺序粘贴它们即可。
如果从名称中不明显,您可以从ssl提供商那里获得确切的顺序。
然后将文件保存为您喜欢的任何名称。例如。 YOURDOMAIN链bundle.crt
在此示例中,我没有包含实际的域证书,只要您的服务器可以配置为使用单独的链式证书包,这就是您使用的。
可在此处找到更多数据:
如果由于某种原因您无法将服务器配置为使用单独的链式捆绑包,则只需将服务器证书粘贴到捆绑包的开头(顶部),然后将生成的文件用作服务器证书。这是E.gquid案件中需要做的事情。请参阅下面关于此主题的squid邮件列表。
http://www.squid-cache.org/mail-archive/squid-users/201109/0037.html
这为我们解决了。
答案 5 :(得分:2)
您的客户使用哪个版本的Firefox?
人们遇到与记录here in the Support Forum for Firefox相同的问题。我希望你能在那里找到解决方案。祝你好运!
更新
让您的客户端检查Firefox中的设置:在“高级” - “加密”上有一个“查看证书”按钮。 在列表中查找“Comodo CA Limited”。我看到Comodo是该域名/服务器证书的发行者。在我的两台机器上(Vista和Mac上的FF 3.0.3),该条目在列表中(默认情况下为/ Mozilla)。
答案 6 :(得分:2)
我在Firefox和我的服务器上遇到过这个问题。我联系了GoDaddy的客户支持,他们让我安装了中间服务器证书:
http://support.godaddy.com/help/article/868/what-is-an-intermediate-certificate
重新启动万维网发布服务后,一切都运行良好。
如果您无法完全访问您的服务器,则您的ISP必须为您执行此操作。
答案 7 :(得分:1)
正如@ user126810所说,问题可以通过配置文件中的正确SSLCertificateChainFile
指令来解决。
但是在修复配置并重新启动网络服务器之后,我还必须重新启动Firefox 。没有它,Firefox继续抱怨证书不好(看起来像是使用了缓存证书)。
答案 8 :(得分:1)
如果您从COMODO获得了证书,则需要添加 这一行,该文件位于您收到的zip文件中。
SSLCertificateChainFile /path/COMODORSADomainValidationSecureServerCA.crt
答案 9 :(得分:1)
2014年6月:
这是我使用的配置,它在我的头撞墙几天后工作正常。我使用Express 3.4(我认为对于Express 4.0来说是相同的)
var privateKey = fs.readFileSync('helpers/sslcert/key.pem', 'utf8');
var certificate = fs.readFileSync('helpers/sslcert/csr.pem', 'utf8');
files = ["COMODORSADomainValidationSecureServerCA.crt",
"COMODORSAAddTrustCA.crt",
"AddTrustExternalCARoot.crt"
];
ca = (function() {
var _i, _len, _results;
_results = [];
for (_i = 0, _len = files.length; _i < _len; _i++) {
file = files[_i];
_results.push(fs.readFileSync("helpers/sslcert/" + file));
}
return _results;
})();
var credentials = {ca:ca, key: privateKey, cert: certificate};
// process.env.PORT : Heroku Config environment
var port = process.env.PORT || 4000;
var app = express();
var server = http.createServer(app).listen(port, function() {
console.log('Express HTTP server listening on port ' + server.address().port);
});
https.createServer(credentials, app).listen(3000, function() {
console.log('Express HTTPS server listening on port ' + server.address().port);
});
// redirect all http requests to https
app.use(function(req, res, next) {
if(!req.secure) {
return res.redirect(['https://mydomain.com', req.url].join(''));
}
next();
});
然后我重定向了80和443端口:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 4000
sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 3000
正如您在检查我的认证后所看到的,我有4 [0,1,2,3]:
openssl s_client -connect mydomain.com:443-showcerts | grep“^”
ubuntu@ip-172-31-5-134:~$ openssl s_client -connect mydomain.com:443 -showcerts | grep "^ "
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify error:num=19:self signed certificate in certificate chain
verify return:0
0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=mydomain.com
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
1 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA
i:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Certification Authority
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
Protocol : TLSv1.1
Cipher : AES256-SHA
Session-ID: 8FDEAEE92ED20742.....3E7D80F93226142DD
Session-ID-ctx:
Master-Key: C9E4AB966E41A85EEB7....4D73C67088E1503C52A9353C8584E94
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 300 (seconds)
TLS session ticket:
0000 - 7c c8 36 80 95 4d 4c 47-d8 e3 ca 2e 70 a5 8f ac |.6..MLG....p...
0010 - 90 bd 4a 26 ef f7 d6 bc-4a b3 dd 8f f6 13 53 e9 ..J&..........S.
0020 - f7 49 c6 48 44 26 8d ab-a8 72 29 c8 15 73 f5 79 .I.HD&.......s.y
0030 - ca 79 6a ed f6 b1 7f 8a-d2 68 0a 52 03 c5 84 32 .yj........R...2
0040 - be c5 c8 12 d8 f4 36 fa-28 4f 0e 00 eb d1 04 ce ........(.......
0050 - a7 2b d2 73 df a1 8b 83-23 a6 f7 ef 6e 9e c4 4c .+.s...........L
0060 - 50 22 60 e8 93 cc d8 ee-42 22 56 a7 10 7b db 1e P"`.....B.V..{..
0070 - 0a ad 4a 91 a4 68 7a b0-9e 34 01 ec b8 7b b2 2f ..J......4...{./
0080 - e8 33 f5 a9 48 11 36 f8-69 a6 7a a6 22 52 b1 da .3..H...i....R..
0090 - 51 18 ed c4 d9 3d c4 cc-5b d7 ff 92 4e 91 02 9e .....=......N...
Start Time: 140...549
Timeout : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
祝你好运!
PD:如果您想要更多答案,请查看:http://www.benjiegillam.com/2012/06/node-dot-js-ssl-certificate-chain/
答案 10 :(得分:0)
如果其他人遇到Ubuntu LAMP和&#34; COMODO Positive SSL&#34;尝试从压缩文件中的证书构建自己的包。
cat AddTrustExternalCARoot.crt COMODORSAAddTrustCA.crt COMODORSADomainValidationSecureServerCA.crt > YOURDOMAIN.ca-bundle
答案 11 :(得分:0)
我正在围绕着Firefox 43,El Capitan和WHM / cPanel SSL安装不断获取不受信任的网站错误 - 我没有购买它作为最后一个人走路安装给我的证书出门。事实证明我在错误的域下安装,因为我错过了www - 但是证书仍然安装在域名上,当我使用www.domain.com.au安装WHM中的证书时,它现在安装担心并且FF错误消失了 - 证书适用于www和非www。
答案 12 :(得分:0)
要回答问题的不可重现性方面 - Firefox会自动将中间证书导入其证书存储区。因此,如果您之前访问过使用正确配置的证书链使用相同中间证书的站点,那么Firefox将存储该证书,这样当您访问使用错误配置链的站点时,您将看不到问题相同的中级证书。
您可以在Firefox的证书管理器(选项 - >隐私和安全 - >查看证书...)中查看此信息,您可以在其中查看所有存储的证书。在&#39;安全设备&#39;您可以检查证书来自何处的列 - 自动/手动导入的证书将显示为来自“软件安全设备”的软件。而不是“内置对象令牌”,这是与Firefox一起安装的默认设置。您可以删除/不信任任何特定证书并再次测试。
答案 13 :(得分:0)
本周末有同样的问题,只有Firefox将不接受证书...对我来说,解决方案是在网站的apache配置中添加带有以下行的中间证书:
SSLCACertificateFile /your/path/to/ssl_ca_certs.pem
的更多信息