【发布时间】: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 技术来做到这一点。
抱歉英语不好,不是母语人士。谢谢。
【问题讨论】:
-
对于现代浏览器,使用浏览器扩展从连接到客户端的设备进行签名。请参考部分答案stackoverflow.com/a/55676351/9659885
标签: x509certificate private-key xml-signature signedxml