簡體   English   中英

如何使用帶有esig / dss庫的OnlineTSPSource?

[英]How to use an OnlineTSPSource with esig/dss Library?

我正在嘗試將在線時間戳權限(rfc3161)與數字簽名服務 Java庫一起使用。 但是,以下代碼片段(來自他們的測試用例 ,與他們的Cookbook中的類似):

String tspServer = "http://tsa.belgium.be/connect";
OnlineTSPSource otsp = new OnlineTSPSource(tspServer);
/* tried setting otsp.setDataLoader(new TimestampDataLoader());
   too, as it defaults to otsp.setDataLoader(new 
   NativeHTTPDataLoader()); the exception happens in both cases */
byte[] digest = DSSUtils.digest(DigestAlgorithm.SHA1, "Hello world".getBytes());
TimeStampToken timeStampResponse =
    otsp.getTimeStampResponse(DigestAlgorithm.SHA1, digest);

始終以以下異常結束:

eu.europa.esig.dss.DSSException: 
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 
org.apache.commons.io.IOUtils.closeQuietly(Ljava/io/Closeable;)V

已經嘗試了許多不同的公共rfc3161服務器( 這里列出一些)。 當然有一些錯誤,但是,作為一個初學者,我無法理解什么是錯的(應該采用什么方法)。

如果有人能夠讓我朝着正確的方向努力讓代碼片段正常工作(或者甚至善於用Java的bouncycastle評論關於cades / xades / pades的可靠啟動指南),我將非常感激。

正如Marteen BodewesMark Rotteveel的評論中所述,類路徑中的Apache Commons-IO版本出現了問題。 該項目是使用Apache Maven設置的,並且在那里聲明了一個舊的Commons-IO版本作為依賴項。 在這種情況下,刪除該聲明就足夠了,因此Maven可以下載聲明為esig / DSS依賴項的相應版本。

esig / DSS版本當時為5.4。

暫無
暫無

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

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