2012-07-30 70 views
0

新的立法強制我的應用程序允許用戶僅附加數字簽名的文檔。我從來沒有在我的應用程序中以任何特殊方式處理數字簽名的文檔,因此我不知道選擇哪種方法。PHP中的文檔數字簽名

基本上有兩種不同的方法可以使用。

  1. 實現一個功能,它允許用戶在簽署文件
  2. 讓用戶在使用其他軟件來簽署文件,只檢查文檔是否包含簽名和驗證其內容

我的應用程序是用的Zend框架和支持上傳pdf,doc/docx和xsl/xslx文件

我想知道如何才能找出文檔是否包含數字簽名+時間戳及其中包含什麼(名稱,公司)或是否呃它是否有效,所以我可以允許/拒絕它的上傳。

或者我想知道我應該怎麼做才能允許用戶對我的Web應用程序中的文檔進行數字簽名並添加時間戳。

回答

0

所有提到的格式都支持嵌入式數字簽名,但我非常懷疑您會發現PHP庫處理這些格式以驗證是否包含簽名。

要讓用戶簽署文檔,您需要在客戶端擁有該文檔或支持分佈式簽名。從你的描述中我猜文檔已經存儲在客戶端系統上,所以你需要添加的東西就是在客戶端計算機上執行簽名的東西。

我可以想象Java applet會在用戶選擇數據時從瀏覽器內簽署文檔,然後將簽名文件發佈到服務器。這是大多數銀行瀏覽器軟件所做的。

我知道一個用於Java的庫,可以對PDF和辦公文檔進行數字簽名。這是我們的SecureBlackbox(Java版)。您可以使用我們的組件構建瀏覽器小程序。對於PDF簽名,還存在iText,但我不知道任何關於使用Java簽名的Office DOC和XLS文件。

1

您可以在PHPDocX的幫助下將數字簽名添加到Word(docx)文檔。

它不需要Microsoft Office,可以運行在任何運行PHP的服務器上。

您也可以使用相同的軟件包來簽署PDF文件。