首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对MS Office (Word、Excel等)进行数字签名和服务器上的PDF文件

对MS Office (Word、Excel等)进行数字签名和服务器上的PDF文件
EN

Stack Overflow用户
提问于 2010-06-08 13:30:37
回答 3查看 5.2K关注 0票数 2

我需要对存储在服务器上的MS和PDF文件进行数字签名。我指的是根据每种特定的文件格式集成在文档中的数字签名。

这就是我所想到的过程:

  1. 创建文件的内容
  2. 的散列,将哈希发送到浏览器
  3. 中的自定义java applet用户使用他/她的私钥加密哈希(例如通过PKCS#11在usb令牌上),从而有效地对文件进行签名。然后,小程序
  4. 将签名发送到服务器
  5. 服务器上,然后将签名合并到文件的文件中(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)

EN

回答 3

Stack Overflow用户

发布于 2010-06-08 18:31:24

通常,您可以使用我们的SecureBlackbox产品签署Office和PDF文件。但是,像您的场景中那样的分布式签名并不简单(尽管可能)。我们目前正在开发一个附加的SecureBlackbox,以简化这种分布式操作。

更新:现在可以使用分布式签名功能,并在this answer中详细描述。

票数 1
EN

Stack Overflow用户

发布于 2010-06-08 13:43:48

我看到了一个问题:一旦将签名合并到文件中,就会立即更改它的散列值。因此,如果您稍后使用签名来验证文件没有被更改,它肯定会失败。

票数 0
EN

Stack Overflow用户

发布于 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格式了,所以只需添加签名即可。

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

https://stackoverflow.com/questions/2997694

复制
相关文章

相似问题

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