簡體   English   中英

如何使用脫機簽名和OCSP響應創建PADES

[英]How to create PADES using offline signature and OCSP response

我很困難,試圖從文檔和源代碼中找出Esig DSS java套件。 (eu.europa.esig.dss。* tree)

我們連接到瑞典BankID以簽署PDF和簡單的純文本。 響應是一個SOAP XML,包含簽名字段和OCSP響應。

最終目標是將這兩個部分組合成一個可以嵌入PDF(使用DSS和PDFbox)的“有效簽名”對象。

BankID Soap字段的內容似乎具有DSS工具的正確格式:

簽名可以加載

DSSDocument sigDoc = new InMemoryDocument(xmlSignature)
SignedDocumentValidator documentValidator = SignedDocumentValidator.fromDocument(sigDoc);
// ...
AdvancedSignature advancedSignature = documentValidator.getSignatures().get(0);

並且可以讀取OCSP響應

ExternalResourcesOCSPSource source = new ExternalResourcesOCSPSource(ocspBytes);
BasicOCSPResp basicOCSPResp = source.getContainedOCSPResponses().get(0);

我可以打印出來自對象的各種信息,查找嵌入式證書等,因此格式似乎合法。

問題:如何從ExternalResourcesOCSPSource獲取有效的OCSPToken?

我一直在試圖將兩者合並為一個AdvancedSignature(如果這是我可以用來嵌入PDF的話)。

第三個系統提供的高級數字簽名不能用於創建有效的簽名PDF

PAdES簽名始終封裝在PDF文檔中,因此簽名服務無法返回DSS認為有效的分離PAdES簽名。

它可能在SOAP消息中提供可以由DSS處理的分離的CAdES或XAdES簽名(DSS提供高級API以使用XAdES,CAdES,PAdES和aSiCS格式對文檔進行簽名)。

兩種格式都支持嵌入OCSP響應,但它也需要添加TimeStamp,這使得構建最終格式變得更加困難。 這可能是在SOAP消息中使用自定義字段以返回OCSP響應的原因

XAdES和PAdES在概念上相似但結構上不同。 XAdES簽名是XML,PAdES是二進制。 XML簽名無法轉換為PAdES

PAdES和CAdES使用CMS,兩者都是二進制的,它們使用ASN.1語法。 但簽名的消息不同,CAdES簽名是在整個文檔(以及其他一些屬性)上計算的,而PAdes使用PDF文檔的某些數據。 因此,cades簽名也無法轉換為PAdes。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM