请求模式到浏览器以选择证书

时间:2016-11-14 14:38:41

标签: javascript java google-chrome ssl-certificate x509certificate

我在互联网上寻找通过Javascript在浏览器中安装证书的方法(与在Windows上工作的方式相同)。或者一种在linux中安装证书的方法(使用java)。我听说过所有浏览器都有一个名为WebCrypto的lib,但我需要的方法在今天的浏览器中并没有得到最多支持。

需要在浏览器中请求模式以选择安装在其上的一个个人证书。我需要在Javascript中使用触发器才能执行此操作。或者用Java编写代码以获得在linux OS中安装的证书。

示例:

https://www.startssl.com/Account

点击客户证书登录

1 个答案:

答案 0 :(得分:0)

很抱歉,但您要求的是无法实现的(根据您的需要)。

首先,证书选择UI对话框只有在服务器请求客户端证书进行相互身份验证时才可能出现。

这里有两个问题:

  1. Web浏览器可能决定不弹出对话框。当在用户证书存储中仅安装一个客户端证书时,可能会发生这种情况。换句话说,显示或不显示证书选择对话框取决于浏览器(或其配置)。

  2. 即使显示,它也会显示在客户端,而不是DOM的一部分,因此,您无法与JavaScript进行任何与证书选择对话框的交互。

  3. (1)无法通过服务器配置解决,因为它是客户端behvaiour你无法控制。

    (2)可以通过调用支持Web的客户端接口(类似于Internet Explorer中的ActiveX控件)来解决,但必须有这样的支持,客户端必须同意允许这样的调用。不幸的是,没有通用的内置框架甚至可以在主流浏览器和操作系统上运行。最接近的是Java,但它不是内置的,客户端必须安装Java引擎。