我需要对存储在服务器上的MS和PDF文件进行数字签名。我指的是根据每种特定的文件格式集成在文档中的数字签名。
这就是我所想到的过程:
H 210G 211
最酷的是,您再也不必下载完整的文件并将其上传到服务器。更酷的是,客户不需要Office或PDF对文件进行签名。
第2、3和4部分对我来说没问题,我的公司为我以前从事的一个项目购买了我所需要的所有JAVA技术。
Problem:我似乎找不到任何文档/示例来处理第1部分和第5部分中的Office文件。这一次,我的谷歌技能让我失望了吗?
对于MS文件,您有指向文档或示例的指针吗?底层技术对我来说并不那么重要:我可以使用Java、.Net、COM,任何可行的技术都可以!
注意:我95%确信我可以用iText来确定PDF文件的第1点和第5点
谢谢
**编辑:如果我不能用散列完成这个操作,并且必须将完整的文件下载到客户端,这也是可能的。但我仍然需要文件才能签署Office文件..。这次在java中(来自applet)
发布于 2010-06-08 18:31:24
通常,您可以使用我们的SecureBlackbox产品签署Office和PDF文件。但是,像您的场景中那样的分布式签名并不简单(尽管可能)。我们目前正在开发一个附加的SecureBlackbox,以简化这种分布式操作。
更新:现在可以使用分布式签名功能,并在this answer中详细描述。
发布于 2010-06-08 13:43:48
我看到了一个问题:一旦将签名合并到文件中,就会立即更改它的散列值。因此,如果您稍后使用签名来验证文件没有被更改,它肯定会失败。
发布于 2010-06-08 16:14:12
你不应该自己发明签名。您可以将文件转换为XML,并使用Java 6中包含的XMLDSIG (JSR 105)。
http://java.sun.com/javase/7/docs/technotes/guides/security/xmldsig/overview.html
如果您可以使用像docx这样的Office文件格式,那么它已经是XML格式了,所以只需添加签名即可。
https://stackoverflow.com/questions/2997694
复制相似问题