首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >直接对文件的哈希值进行数字签名,而不是文件

直接对文件的哈希值进行数字签名,而不是文件
EN

Stack Overflow用户
提问于 2013-09-10 15:03:07
回答 2查看 2.1K关注 0票数 2

我的问题是--是否可以直接对文件的哈希值进行数字签名,而不是文件。

我必须在web环境中通过e-token对xml文件进行数字签名。因此,我必须将文件从服务器下载到客户端,然后在客户端机器上从e-token usb获得证书,并对文件进行签名并将其上传到服务器。

但问题是,如果文件太大,那么它将花费太多的时间在客户端下载(取决于网速),并在文件的安全性方面也存在一些漏洞。

因此,不是将文件发送到客户端机器,而是只发送文件散列值(内部文件的散列值是签名的,而不是文件作为数字签名过程的一般流程)。

或者有没有其他的解决方案?

EN

回答 2

Stack Overflow用户

发布于 2013-09-11 08:05:43

@Eugene提出了一些关于安全传递散列的细节的有效观点。

因为您有一个eToken,所以您可以使用它在客户端和服务器之间建立双向SSL会话。此会话可用于将散列传输到客户端,并将得到的签名传回服务器。

在Java语言中,为了在客户端签名散列,您可以使用像NONEwithRSA这样的Signature算法,而不是像SHA256withRSA这样的算法。

"NONE“指定原始数据(在本例中是散列)将被签名,并且算法不会再次对其进行散列。

票数 1
EN

Stack Overflow用户

发布于 2013-09-10 22:03:27

当然,可以将散列传递给客户端并在那里签名,但问题在于细节--在这种分布式签名的情况下,您需要设计一种真正安全的方法来传递散列和签名,并在客户端安全地对其进行签名。此外,您还需要在服务器上安装代码,以便计算哈希值,将其传递给客户端,然后将签名嵌入到您选择的签名格式中。

我们公司已经为我们的SecureBlackbox产品开发了一个分布式加密插件,解决了所有上述问题。有关详细信息,欢迎访问StackOverflow上的this answer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18712537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档