【问题标题】:How to sign XML using private key contained in smartcard for a web application?如何使用包含在 Web 应用程序智能卡中的私钥对 XML 进行签名?
【发布时间】:2023-03-15 19:05:01
【问题描述】:

我正在寻找一种解决方案,使用包含在 Web 应用程序的 USB 令牌(智能卡等)中的不可导出的私钥(这需要用户输入通知密码短语/秘密密码以使用它创建哈希)来签署 XML。我已经制作了一个 c# 类库来做到这一点,但显然代码是在服务器端执行的,所以我无法通过互联网访问客户端的 usbtoken/智能卡,除非它插入服务器 pc(所以我的解决方案可能是安装在我客户的本地网络中,并且 usbtoken 插入服务器的 usb。它今天的工作方式就是这样,但我想更改它以便客户在他的机器上使用它的令牌)

我已经使用 SignedXml、X509Certificates 和其他类创建了一个代码来实现这一点,但我正在寻找 silverlight 类库中的等价物来封装所有这些东西并在客户端执行它,但不幸的是 SignedXml 无法使用在 Silverlight 中(不存在..)。

我已经成功创建了一个 ActiveX,但是我的解决方案现在只能在 Internet Explorer/Windows 中运行,并且由于我的业务逻辑,它不是很容易维护。

有人可以帮我解决这个问题吗?非常欢迎任何建议。

如果我可以将我的 activex 解决方案移植到 silverlight,或者如果可以使用可以在其他浏览器/操作系统中执行的其他 MS 技术来做到这一点。

抱歉英语不好,不是母语人士。谢谢。

【问题讨论】:

标签: x509certificate private-key xml-signature signedxml


【解决方案1】:

Java 小程序是比 ActiveX 更好的选择。

Silverlight 不会让您访问证书存储,并且它的开发已经停止(Silverlight 5 是正式的最后一个版本)。

我们公司为分布式密码学提供即用型解决方案,其中包括用于客户端活动的 ActiveX、Java 小程序和 Flash 模块。此解决方案在this answer 中有详细讨论。

【讨论】:

    猜你喜欢
    • 2015-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    • 1970-01-01
    • 2023-03-15
    • 2017-03-07
    • 1970-01-01
    相关资源
    最近更新 更多