我希望我的用户安装自签名证书,以便在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'文件下载。
答案 0 :(得分:1)
不要这样做。它不安全,会使您的用户面临风险,因为它允许您的CA证书为任何网站创建受信任的证书,而不仅仅是您自己的。此外,对于许多用户来说甚至都不可能:例如,没有管理员权限的用户(例如,大公司的许多员工!)无法在大多数操作系统下安装可信证书。我希望我的用户安装自签名证书,以便在https导航中信任我的网站。
如果要使用HTTPS,请获取专业签名证书。它价格低廉(甚至免费提供某些提供商,例如Startcom),并为您的网站及其用户提供更高级别的安全性。
答案 1 :(得分:0)
试试这个:
header("Content-disposition: inline; filename=user.crt");
或application/x-x509-ca-cert