使用JavaScript使用智能卡的私钥对XML文档进行数字签名

时间:2019-05-23 15:57:19

标签: javascript smartcard xml-signature

我希望Web应用程序使用智能卡内部的私钥对xml文档进行签名。如果可以通过某种方式将私钥发送到服务器,则可以通过 java.security 访问Windows证书存储区并通过 javax.xml.crypto 进行转换,从而在Java中对其进行签名。 xml文档转换为xml签名标准,但是私钥无法从智能卡中导出。

尽管我可以使用Java Applets或创建在客户端计算机上运行的Java应用程序(使用Java Web Start),但首先,我还是希望用户不必安装浏览器插件Java。或计算机上的任何Java应用程序,其次,不推荐使用Java Applets和Java Web Start。 Oracle告诉人们寻找其他解决方案。

最明显的选择是使用JavaScript,但它要么需要访问私钥(由于无法从智能卡导出私钥,所以我们没有此权限),或者它需要附加软件才能安装浏览器以便与智能卡读卡器进行通信(带有某种本机代码)。

我有Java代码,该代码允许我通过访问Windows证书存储区并利用几种抽象方式对其进行签名,从而使用智能卡的私钥对xml文档进行签名。现在,我倾向于让用户安装一个允许客户端计算机运行该代码的插件,但是我宁愿使用JavaScript,这样用户也不必安装任何东西。

所以我的问题是:我是否仍然有使用JavaScript使用智能卡的私钥对xml文档签名的方法?还有其他方法可以使我不必在客户端计算机上安装其他软件吗?

0 个答案:

没有答案