客户端如何从 Chrome/Mozilla 导入 windows os 证书库中的个人证书
How to import personal certificate in windows os certificate store from Chrome/Mozilla by client side
我已经使用 JavaScript 库 WebCrypto API and 3rd party web service using a CSR request. Now i want to store the certificate with the private key in windows personal certificate store of the client pc. I have found here 生成了密钥对并创建了自签名证书,JavaScript 这是不可能的。使用 java 很容易实现。但是由于 jApplet 现在不鼓励,所以客户端还有其他方法吗?通过创建 chrome/mozilla 个扩展,是否可以?
请注意,我知道如果我将证书与私钥一起导出为文件,我可以将其作为个人证书手动导入到 windows 证书存储中。但我想自动化这个过程——用户只需从浏览器和服务器通信填写表格,证书将被创建并将与私钥一起存储在客户端的 windows 存储中。
我认为你没有太多选择
由于安全限制,您无法从 java 脚本访问浏览器使用的密钥库
您不能创建 chrome 扩展来访问浏览器使用的密钥库,因为 chrome API 不发布它(我不确定 firefox )
您不能使用小程序,因为 Java 不受 Chrome 和 Edge 支持。 Firefox 将在 2017 年 3 月停止支持 NPAPI 插件(java 使用 npapi),接下来的 Java 版本将不包含浏览器插件
备选方案:
使用私钥和证书(在客户端)生成一个 .p12 文件,下载并打开它。操作系统会启动导入证书工具
使用WebCryptographyApi,如果你只需要证书在浏览器上执行加密操作(数字签名,加密,......)。您可以稍后生成 .p12
首先,javascript 运行s 在浏览器内部的一个沙箱中。所以它对计算机的访问权限非常有限,它可以 calculate/generate 东西但不能对计算机进行更改。
创建扩展来添加证书有点没用,因为这样做,我能想到的唯一方法就是首先执行一个用户可以执行的程序。有关来自扩展程序 here.
的 运行ning 程序的更多信息
所以给用户一个自动证书安装程序(创建一个),运行它。 证书存储操作 here.
的示例 c 代码
我们遇到了同样的问题,但仅限于 chrome。我们设法在 Firefox(javascript 中的 <keygen>
对象)和 IExpolorer (ActiveXObject) 中做到了这一点。考虑到 Java Applet 我建议使用 REST API 创建本地微服务器并通过 SSL
与其通信
我已经使用 JavaScript 库 WebCrypto API and 3rd party web service using a CSR request. Now i want to store the certificate with the private key in windows personal certificate store of the client pc. I have found here 生成了密钥对并创建了自签名证书,JavaScript 这是不可能的。使用 java 很容易实现。但是由于 jApplet 现在不鼓励,所以客户端还有其他方法吗?通过创建 chrome/mozilla 个扩展,是否可以?
请注意,我知道如果我将证书与私钥一起导出为文件,我可以将其作为个人证书手动导入到 windows 证书存储中。但我想自动化这个过程——用户只需从浏览器和服务器通信填写表格,证书将被创建并将与私钥一起存储在客户端的 windows 存储中。
我认为你没有太多选择
由于安全限制,您无法从 java 脚本访问浏览器使用的密钥库
您不能创建 chrome 扩展来访问浏览器使用的密钥库,因为 chrome API 不发布它(我不确定 firefox )
您不能使用小程序,因为 Java 不受 Chrome 和 Edge 支持。 Firefox 将在 2017 年 3 月停止支持 NPAPI 插件(java 使用 npapi),接下来的 Java 版本将不包含浏览器插件
备选方案:
使用私钥和证书(在客户端)生成一个 .p12 文件,下载并打开它。操作系统会启动导入证书工具
使用WebCryptographyApi,如果你只需要证书在浏览器上执行加密操作(数字签名,加密,......)。您可以稍后生成 .p12
首先,javascript 运行s 在浏览器内部的一个沙箱中。所以它对计算机的访问权限非常有限,它可以 calculate/generate 东西但不能对计算机进行更改。
创建扩展来添加证书有点没用,因为这样做,我能想到的唯一方法就是首先执行一个用户可以执行的程序。有关来自扩展程序 here.
的 运行ning 程序的更多信息所以给用户一个自动证书安装程序(创建一个),运行它。 证书存储操作 here.
的示例 c 代码我们遇到了同样的问题,但仅限于 chrome。我们设法在 Firefox(javascript 中的 <keygen>
对象)和 IExpolorer (ActiveXObject) 中做到了这一点。考虑到 Java Applet 我建议使用 REST API 创建本地微服务器并通过 SSL