PHP中的文档数字签名

PHP中的文档数字签名,php,zend-framework,document,digital-signature,Php,Zend Framework,Document,Digital Signature,一项新的立法强制我的应用程序只允许用户附加数字签名的文档。我以前从未在我的应用程序中以任何特殊方式处理过数字签名文档,所以我不知道该选择哪种方法 基本上,我可以使用两种不同的方法 实现允许用户签署文档的功能 允许用户使用其他软件签署文档,仅检查文档是否包含签名并验证其内容 我的应用程序是用Zend框架编写的,支持上传pdf、doc/docx和xsl/xslx文档 我想知道如何确定文档是否包含数字签名+时间戳以及其中包含的内容(姓名、公司)或是否有效,以便允许/拒绝上载 或者我想知道我应该怎么做才

一项新的立法强制我的应用程序只允许用户附加数字签名的文档。我以前从未在我的应用程序中以任何特殊方式处理过数字签名文档,所以我不知道该选择哪种方法

基本上,我可以使用两种不同的方法

  • 实现允许用户签署文档的功能
  • 允许用户使用其他软件签署文档,仅检查文档是否包含签名并验证其内容
  • 我的应用程序是用Zend框架编写的,支持上传pdf、doc/docx和xsl/xslx文档

    我想知道如何确定文档是否包含数字签名+时间戳以及其中包含的内容(姓名、公司)或是否有效,以便允许/拒绝上载


    或者我想知道我应该怎么做才能允许用户对文档进行数字签名,并在我的web应用程序中为签名添加时间戳。

    所有提到的格式都支持嵌入式数字签名,但我严重怀疑您是否会找到PHP库来处理这些格式,以验证签名是否包含在内

    要让用户签署文档,您需要将文档放在客户端或支持分布式签名。根据您的描述,我猜文档已经存储在客户端系统中,因此您需要添加的只是在客户端计算机上执行签名的内容

    我可以想象,当用户选择数据时,JavaApplet将在浏览器中对文档进行签名,然后将签名文件发布到服务器。这就是大多数基于浏览器的银行软件所做的


    我知道有一个Java库可以对PDF和office文档进行数字签名。这是我们的(Java版)。您可以使用我们的组件构建浏览器小程序。对于PDF签名,也存在iText,但我对Java中的Office文档和XLS文件签名一无所知

    您可以在的帮助下向Word(docx)文档添加数字签名

    它不需要MicrosoftOffice,可以在任何运行PHP的服务器上工作

    您也可以使用相同的软件包对PDF文件进行签名