Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用智能卡对XML文档进行数字签名';使用JavaScript的s私钥_Javascript_Smartcard_Xml Signature - Fatal编程技术网

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

使用智能卡对XML文档进行数字签名';使用JavaScript的s私钥,javascript,smartcard,xml-signature,Javascript,Smartcard,Xml Signature,我希望web应用程序使用智能卡中的私钥对xml文档进行签名。如果私钥可以以某种方式发送到服务器,我可以通过让Java.security访问windows证书存储和javax.xml.crypto将xml文档转换为xml签名标准,用Java对其进行签名,但私钥不能从智能卡导出 尽管我可以使用Java小程序或创建在客户机上运行的Java应用程序(使用Java Web Start),但首先,我希望用户不必在他们的机器上安装Java、浏览器插件或任何Java应用程序,其次,Java小程序和Java We

我希望web应用程序使用智能卡中的私钥对xml文档进行签名。如果私钥可以以某种方式发送到服务器,我可以通过让Java.security访问windows证书存储和javax.xml.crypto将xml文档转换为xml签名标准,用Java对其进行签名,但私钥不能从智能卡导出

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

显而易见的选择是使用JavaScript,但它要么需要访问私钥(因为私钥无法从智能卡导出,所以我们没有私钥),要么需要安装额外的软件,以便浏览器与智能卡读卡器通信(使用某种本机代码)

我有Java代码,它允许我通过访问windows证书存储并使用几个抽象来使用智能卡的私钥对xml文档进行签名。现在我倾向于让用户安装一个插件,允许客户机运行该代码,但我更愿意使用JavaScript,这样用户就不必安装任何东西


所以我的问题是:我是否可以使用JavaScript使用智能卡的私钥对xml文档进行签名?有没有其他方法让我不用在客户端机器上安装其他软件就可以这样做?

我是否可以使用JavaScript使用智能卡的私钥签署xml文档?-->否没有其他方法可以让我这样做,而不必在客户端机器上安装其他软件?-->否请参阅否,如果不安装本地软件,则无法访问证书存储。你可能会发现这个答案的一部分很有用。谢谢。是的,从我上周读到的所有东西来看,所有的东西都指向你告诉我的。对于任何有类似问题的人来说,可能只是我方法更新的重复。我最终选择了带有本机消息的浏览器扩展。基本上,该扩展在浏览器和本机java应用程序之间充当通信通道。有关更多信息,请查看。