我正在建立一个网站,用户必须在其中对 xml 收据进行数字签名以确认他收到了包裹。我目前正在使用 IE 中的自定义 ActiveX 控件来执行此操作。我想知道我是否可以用/用于其他浏览器完成同样的事情。甚至可能吗?
5 回答
不幸的是,没有简单且免费的方法可以在 Web 浏览器中签署 XML 文档。我们在 Internet Explorer 和 Firefox 中使用Lizard Labs的XSign在客户端签署 XML 文档。该组件足够好,符合 W3C,稳定且易于使用和安装(不需要额外的库和 SDK)。Windows Mobile 的版本也可用,但我没有使用它的经验。您可以下载并试用演示版。
进行跨浏览器 XML-DSig 签名需要 Active/X 的替代技术(只能在 MSIE 中运行),例如 Java 小程序。
我们在isigma开发了我们自己的基于小程序的解决方案,我们已经在 Windows 的 MSIE、Firefox、Chrome 和 Opera 以及 MAC 和 Linux 的 Firefox 上成功运行(我们在 Ubuntu 上测试过)——可能还有 Safari,但我无法确认这一点。有几种基于开源和商业小程序的解决方案将覆盖比纯 Active/X 解决方案更广泛的安装基础。
这个问题有点老了,但我最近发现了一个值得尝试的替代方案: http ://www.openoces.org/opensign/
它使用 Java Applet,并以 LGPL 许可证发布。
尝试XML Signature Java Applet在浏览器中进行 XML 签名。它适用于所有在 Windows 和 Linux 上支持 Java 的浏览器,包括 Internet Explorer、Firefox、Chrome 等。
我刚刚发布了一个旨在使这成为可能的库,请看一下:https ://github.com/PeculiarVentures/xadesjs