Java 獲取PDF數字簽名證照資訊
PDF文件中可新增數字簽名,在新增簽名前,需要準備可信任簽名證照。對文件中已有的簽名,可驗證照籤是否有效。也可通過一定方法來獲取數字簽名或者簽名證照資訊。下面以Java程式碼示例展示如何讀取簽名的證照資訊。本文將分為兩個部分介紹,即編輯程式碼前的環境配置和具體的程式碼示例。
一、環境配置
-
IntelliJ IDEA (jdk 1.8.0)
-
包含簽名的PDF測試文件
-
Java PDF庫:Free Spire.PDF for Java
匯入Java庫的方法如下:
1. 手動匯入。
下載庫到本地,解壓,找到lib檔案下的jar檔案。然後執行如下圖方法手動匯入:
2.Maven 倉庫下載匯入。
在pom.xml檔案中配置如下內容:
<repositories> <repository> <id>com.e-iceblue</id> <url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.pdf.free</artifactId> <version>4.4.1</version> </dependency> </dependencies>
二、Java程式碼示例
程式碼方法主要分為以下幾個主要步驟來讀取:
1. 例項化 PdfDocument類的物件。
2. 呼叫 PdfDocument.loadFromFile()方法載入指定路徑下的已簽名的PDF文件。
3. 通過 PdfFormWidget. getFieldsWidget()方法獲取 PdfFormFieldWidgetCollection類的域集合。
4. for迴圈文件中的域,判斷獲取的域是否為簽名域。如果判定結果為true,則獲取文件中的所有 PdfSignatureFieldWidget類的簽名域。
5. 最後,呼叫 PdfSignatureFieldWidget.getSignature().getCertificate()方法獲取簽名的證照資訊。
import com.spire.pdf.*; import com.spire.pdf.widget.PdfFormFieldWidgetCollection; import com.spire.pdf.widget.PdfFormWidget; import com.spire.pdf.widget.PdfSignatureFieldWidget; public class GetCertificateInfo { public static void main(String[] args) { //例項化PdfDocument類的物件,並載入PDF文件 PdfDocument pdf = new PdfDocument(); pdf.loadFromFile("AddSignature.pdf"); //獲取域集合 PdfFormWidget pdfFormWidget = (PdfFormWidget)pdf.getForm(); PdfFormFieldWidgetCollection pdfFormFieldWidgetCollection = pdfFormWidget.getFieldsWidget(); //遍歷域 for (int i = 0; i < pdfFormFieldWidgetCollection.getCount(); i++) { //判定是否為簽名域 if (pdfFormFieldWidgetCollection.get(i) instanceof PdfSignatureFieldWidget) { //獲取簽名域 PdfSignatureFieldWidget signatureFieldWidget = (PdfSignatureFieldWidget) pdfFormFieldWidgetCollection.get(i); //獲取簽名證照資訊 String certificateInfo = signatureFieldWidget.getSignature().getCertificate().toString(); System.out.println(certificateInfo); } } } }
執行程式後的讀取的證照資訊結果:
原創內容,轉載務必註明出處!
—End—
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31499788/viewspace-2842641/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C# 獲取PDF中的數字簽名證書C#
- Java 新增、驗證PDF 數字簽名Java
- java和C#使用證照對引數簽名、加密JavaC#加密
- FDA ESG的數字簽名證書是什麼?怎麼獲取FDA ESG 數字證書?
- 公鑰加密、數字簽名、訊息認證加密
- win10 禁止驗證數字簽名方法 win10 如何禁用數字簽名Win10
- 安全基礎:數字信封、數字簽名、數字證書(加簽驗籤,加密解密)加密解密
- java程式碼簽名證照適合什麼樣的場景Java
- 基礎篇:java.security框架之簽名、加密、摘要及證照Java框架加密
- Java 獲取Word字數Java
- 使用Java在PowerPoint中新增、驗證或刪除數字簽名Java
- Java 新增數字簽名到Excel以及檢測、刪除簽名JavaExcel
- Java 操作PPT數字簽名(一):新增、檢測、刪除簽名Java
- Oracle獲取所有表名資訊和獲取指定表名欄位資訊Oracle
- PDF簽名證書的基本特徵以及作用特徵
- 大話數字簽名
- WHQL認證如何給驅動程式做數字簽名
- 對稱加密、非對稱加密、RSA、訊息摘要、數字簽名、數字證書與HTTPS簡介加密HTTP
- 給軟體數字簽名
- win10 如何禁用數字簽名 win10 關閉數字簽名方法Win10
- 文件數字簽名工作原理是什麼?文件簽名有什麼好處?哪些行業使用文件簽名證書?行業
- 獲取.crt證書的資訊
- 區塊鏈鼻祖比特幣之3:驗證訊息真偽的數字簽名區塊鏈比特幣
- ActiveX控制元件數字簽名實踐(免費簽名)控制元件
- Java 給PDF簽名時新增可信時間戳Java時間戳
- 支付寶介面的數字簽名
- 使用捕獲 獲取身份證號的資訊
- 自動獲取隨筆連結(用於部落格簽名或者版權資訊)
- 如何關閉win10的數字簽名_win10禁用數字簽名的方法Win10
- 怎樣判斷驅動程式是否有透過WHQL認證獲得微軟數字簽名微軟
- Android Studio生成簽名檔案,自動簽名,以及獲取SHA1和Android
- C# / vb.net 給PDF 新增視覺化和不可見數字簽名C#視覺化
- win10如何永久禁用數字簽名_win10怎麼關閉禁用數字簽名Win10
- JavaScript獲取檔案字尾名JavaScript
- 數字簽名的原理和應用
- windows10怎麼關閉數字簽名 win10永久關閉數字簽名的方法WindowsWin10
- exe軟體如何進行數字簽名
- 【證照】curl 和 java 請求報證照錯誤Java