在客户端的ASPX中签名数据

时间:2010-12-20 17:30:25

标签: asp.net activex certificate digital-signature

在我的应用程序中,客户端必须签名(使用证书)并将数据发送到服务器。 我怀疑的是我应该怎么做?

要在客户端签名,我应该使用ActiveX吗?我的问题是firefox不支持它。 在服务器端签名我有两个选择:

  1. 将私钥保存在服务器上并在必要时使用(如果在事务期间修改了数据,它将签署错误数据)
  2. 必要时发送私钥(可能包含密钥)
  3. 尽管使用了SSL,但我对用于在服务器端签名的两个选项中的任何一个都不太舒服...... 使用ActiveX可能会使我的应用程序更容易受到攻击,对吧?

    希望你能帮助我:)。

1 个答案:

答案 0 :(得分:1)

遗憾的是,在所有浏览器中没有单一的客户端签名解决方案。我们目前正在为SecureBlackbox产品开发分布式签名组件,我们已经创建了Java applet,ActiveX控件和Flex脚本来执行签名。但是,所有变体都有缺点。例如,只有ActiveX控件才能访问Windows证书存储区。对于其他模块类型,用户需要从PFX(PKCS#12)文件加载证书。

在服务器上上传和签名将无法正常工作,因为私钥并不总是可以在客户端上导出(它可以驻留在cryptotoken或智能卡上,或者只是不可导出),而且这种方法使得整个过程无用因为它显着降低了安全性。

更新:SecureBlackbox 9现已公开测试版,支持客户端签名(我们为此提供ActiveX,Java和Flash模块)。