为自签名证书安装弹出窗口

时间:2014-04-24 14:42:29

标签: php ssl browser mime self-signed

我希望我的用户安装自签名证书,以便在https导航中信任我的网站。

到目前为止,我设法创建了用户证书,客户可以通过浏览器轻松安装。

<?
header("Content-disposition: attachment; filename=user.crt");
header("Content-type: application/x-x509-user-cert");
readfile("user.crt");

这实际上会提示用户安装证书。

但是当谈到CA证书时,浏览器只会下载它...... 我设法通过评论第一个标题留置权来使它与firefox一起工作;

<?
// commenting next line makes it work in firefox
// header("Content-disposition: attachment; filename=ca.crt");
header("Content-type: application/x-x509-ca-cert");
readfile("ca.crt");

任何想法或解决方法?

修改

以下是截图:http://imgur.com/Dt02yPv

但在Chrome和IE中,它会让'cert.php'文件下载。

2 个答案:

答案 0 :(得分:1)

  

我希望我的用户安装自签名证书,以便在https导航中信任我的网站。

不要这样做。它不安全,会使您的用户面临风险,因为它允许您的CA证书为任何网站创建受信任的证书,而不仅仅是您自己的。此外,对于许多用户来说甚至都不可能:例如,没有管理员权限的用户(例如,大公司的许多员工!)无法在大多数操作系统下安装可信证书。

如果要使用HTTPS,请获取专业签名证书。它价格低廉(甚至免费提供某些提供商,例如Startcom),并为您的网站及其用户提供更高级别的安全性。

答案 1 :(得分:0)

试试这个: header("Content-disposition: inline; filename=user.crt");
application/x-x509-ca-cert