[英]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 Bodewes和Mark Rotteveel的評論中所述,類路徑中的Apache Commons-IO版本出現了問題。 該項目是使用Apache Maven設置的,並且在那里聲明了一個舊的Commons-IO版本作為依賴項。 在這種情況下,刪除該聲明就足夠了,因此Maven可以下載聲明為esig / DSS依賴項的相應版本。
esig / DSS版本當時為5.4。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.