如何从网络服务器为FF和IE安装SSL客户端证书?

JVD*_*JVD 10 .net javascript ssl firefox internet-explorer

登录后,我希望一个网页能够为firefox和MSIE-8 +网站客户端提供下载和安装网站的唯一SSL客户端证书的能力,这样他们就不需要再次从该计算机登录.

后端很简单并且完成了 - 我的linux web服务器上有一个目录,输入"make USER = $ username $ {username} .crt.pkcs12"将创建一个新的客户端密钥和一个有效的签名PKCS-12 SSL客户端证书文件.

但是如何最好地提供一种方法,即登录(使用密码)MSIE和firefox用户都可以下载这些证书并打开"安装客户端证书"浏览器GUI对话框?

简单地将证书作为mime-type文件推送是很简单的? - 说'application/x-pkcs7-certreqresp'?? 所以提示用户保存文件; 但我希望他们被提示将此网站的证书添加到SSL证书管理器的客户端证书库. 然后我发现这个为firefox.

所以这是相当简单的,
但我能为MSIE找到的就是这个.

因此从javascript调用firefox'x安全管理器API很简单,但我无法从MSIE的javascript中找到这样做 - 需要调用.NET C#代码来访问.NET API,而X509Store API似乎不是要导出到MSIE javascript.

在我看来,选项是在我的linux网络服务器上提供单声道.NET Web服务,并将来自MSIE客户端的请求重定向到该服务的证书,然后可以下载客户端运行的.NET代码来安装证书?

或者我可以让MSIE客户端下载一个运行"WinHttpCertCfg.exe"的"Install_Cert.VB"可视化基本脚本?

或者是否有一些神奇的MSIE安全管理器javascript API,我只是没有找到?

对不起,自1992年以来我一直是一个Windows refusnik; 我只使用Linux/Solaris/BSD/MacOS,无法访问Windows机器.

有没有人来过这里/有任何建议吗?如果是这样,我将不胜感激!杰森先生,谢谢你

Eug*_*its 1

可能不是您期望得到的答案,但最简单的方法是创建一个 ActiveX,将证书放入 IE 中正确的证书存储中。由于 ActiveX 仅由 IE 处理,因此您将拥有特定于 IE 的解决方案,并且只需要一个版本的 ActiveX 控件。对于 Firefox(以及 Chrome 和 Opera),您需要寻找其他解决方案。