登录后,我希望网页能够为 firefox 和 MSIE-8+ 网站客户端提供下载和安装网站唯一 SSL 客户端证书的能力,这样他们就无需再次登录机器。
后端简单易行——我在我的 linux 网络服务器上有一个目录 其中键入“make USER=$username ${username}.crt.pkcs12”将创建一个新的 客户端 key 和有效的签名 PKCS-12 SSL 客户端证书文件。
但是如何最好地提供一个单一的方法来登录(使用密码) MSIE 和 firefox 用户可以下载这些证书并调出 “安装客户端证书”浏览器 GUI 对话框?
直接将证书推送为mime类型的文件就很简单了 ? - 说“应用程序/x-pkcs7-certreqresp”?? 所以提示用户保存文件;但我希望他们被提示 将此网站的证书添加到 SSL 证书管理器的客户端 证书商店。 Then I found this for firefox .
所以这很简单
但我能找到MSIE is this .
因此从 javascript 调用 firefox'x 安全管理器 API 很简单, 但我无法从 MSIE 的 javascript 中找到这样做的方法——一个人需要 调用 .NET C# 代码来访问 .NET API,而 X509Store API 似乎 不导出到 MSIE javascript。
在我看来,选项是在我的 linux 上提供一个单一的 .NET 网络服务 Web 服务器并将来自 MSIE 客户端的证书请求重定向到 此服务,然后可以下载客户端运行的 .NET 代码 安装证书?
或者我可以让 MSIE 客户端下载“Install_Cert.VB”可视化基本脚本 将运行“WinHttpCertCfg.exe”?
或者是否有一些我只是找不到的神奇 MSIE 安全管理器 javascript API?
抱歉,我从 1992 年开始就是 Windows 拒绝者;我只使用 Linux/Solaris/BSD/MacOS,无法访问 Windows 机器。
有没有人以前来过这里/有什么建议可以提供? 如果是这样,将不胜感激! 提前致谢, 杰森
最佳答案
可能不是您期望得到的答案,但您可以做的最简单的事情是创建一个 ActiveX,它将证书放入 IE 中正确的证书存储区。由于 ActiveX 仅由 IE 处理,您将拥有特定于 IE 的解决方案,并且您将只需要一个版本的 ActiveX 控件。对于 Firefox(以及 Chrome 和 Opera),您需要寻找其他解决方案。
关于javascript - 如何从网络服务器为 FF 和 IE 安装 SSL 客户端证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5531178/