我希望我的用户安装我的自签名证书,以使我的网站在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”文件。
最佳答案
我希望我的用户安装我的自签名证书,以使我的网站在https导航中受信任。
不要那样做这是不安全的,并给您的用户带来风险,因为它允许您的CA证书为任何站点(而不仅仅是您自己的站点)创建受信任的证书。此外,对于许多用户来说,甚至是不可能的:例如,没有管理员权限的用户(例如,大公司的许多员工!)无法在大多数操作系统下安装受信任的证书。
如果要使用HTTPS,请获取经过专业签名的证书。它价格便宜(甚至没有某些提供程序(例如Startcom)),并且为您的网站及其用户提供了更高级别的安全性。