一项新的立法迫使我的应用程序只允许用户附加数字签名的文档。在我的应用程序中,我从来没有以任何特殊的方式处理过数字签名的文档,所以我不知道选择哪种方法。
基本上,我可以使用两种不同的方法。
我的应用程序是用Zend框架编写的,支持上载pdf、doc/docx和xsl/xslx文档。
我想知道如何才能知道文档中是否包含数字签名+时间戳,以及其中的内容(名称、公司),或者是否有效,以便允许/拒绝其上传。
或者,我想知道我应该怎么做才能让用户对文档进行数字签名,并在我的web应用程序中为签名添加时间戳。
发布于 2013-01-26 07:44:09
您可以在PHPDocX的帮助下向Word (docx)文档添加数字签名。
它不需要Microsoft,并且可以在任何运行PHP的服务器上工作。
您也可以使用相同的包来签名PDF文件。
发布于 2012-07-30 09:41:47
所有提到的格式都支持嵌入式数字签名,但我非常怀疑您是否会找到PHP库来处理这些格式,以验证是否包含了签名。
要让用户对文档进行签名,您需要在客户端拥有文档或支持分布式签名。从您的描述中,我猜文档已经存储在客户端系统上,所以您只需要添加一些在客户端计算机上执行签名的内容。
我可以想象,当用户选择数据时,Java将在浏览器中对文档进行签名,然后将签名的文件发送到服务器。这就是大多数基于浏览器的银行软件所做的事情。
我知道一个Java库可以对PDF和office文档进行数字签名。这是我们的SecureBlackbox (Java版本)。您可以使用我们的组件构建浏览器小程序。对于PDF签名,也存在iText,但我对Office和XLS文件的Java签名一无所知。
https://stackoverflow.com/questions/11718496
复制相似问题