【问题标题】:Sign data in ASPX on client side在客户端在 ASPX 中签署数据
【发布时间】:2011-05-28 09:21:25
【问题描述】:
在我的应用程序中,客户端必须签名(使用证书)并将数据发送到服务器。
我的疑问是我应该怎么做?
要在客户端签名,我应该使用 ActiveX 对吗?我的问题是firefox不支持它。
在服务器端签名我有两个选择:
- 将私钥保存在服务器上,必要时使用(如果在交易过程中修改了数据,则会签署虚假数据)
- 必要时发送私钥(可能包含密钥)
尽管使用 SSL,但我对在服务器端进行签名的两个选项中的任何一个都不是很满意...
使用 ActiveX 可能会使我的应用程序更容易受到攻击,对吧?
希望你能帮助我:)
【问题讨论】:
标签:
asp.net
activex
certificate
digital-signature
【解决方案1】:
不幸的是,在所有浏览器中都没有单一的客户端登录解决方案。我们目前正在为我们的SecureBlackbox 产品开发分布式签名组件,并且我们已经创建了Java 小程序、ActiveX 控件和Flex 脚本来执行签名。然而,所有变体都有缺点。例如,只有 ActiveX 控件可以访问 Windows 证书存储。对于其他模块类型,用户需要从 PFX (PKCS#12) 文件加载证书。
在服务器上上传和签名不起作用,因为私钥并不总是可以在客户端上导出(它可以驻留在加密令牌或智能卡上,或者只是不可导出),而且这种方法使整个过程无用因为它大大降低了安全性。
更新:SecureBlackbox 9 现在处于公开测试阶段,支持客户端签名(我们为此提供 ActiveX、Java 和 Flash 模块)。