首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将OnlineTSPSource与esig/dss库一起使用?

如何将OnlineTSPSource与esig/dss库一起使用?
EN

Stack Overflow用户
提问于 2019-06-06 02:51:02
回答 1查看 248关注 0票数 0

我正在尝试对Digital Signature Service Java库使用在线时间戳授权(rfc3161)。然而,下面的代码片段(来自他们的test cases,与他们的Cookbook中的代码类似):

代码语言:javascript
复制
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);

始终以以下异常结束:

代码语言:javascript
复制
eu.europa.esig.dss.DSSException: 
java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError: 
org.apache.commons.io.IOUtils.closeQuietly(Ljava/io/Closeable;)V

已经尝试了许多不同的公共rfc3161服务器(其中一些列出了here)。确实有问题,但是,作为一个初学者,我不能理解哪里出了问题(应该有什么方法)。

如果有人能把我带到正确的方向,让代码片段正常工作(或者能在cades/xades/pades with Java's bouncycastle上评论一个可靠的启动指南),我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-08 02:06:02

正如Marteen BodewesMark Rotteveel在评论中指出的那样,类路径中的Apache Commons-IO版本有问题。该项目是使用Apache Maven设置的,并且有一个旧的Commons-IO版本声明为依赖项。在本例中,删除声明就足够了,这样Maven就可以下载声明为esig/DSS依赖项适当版本。

当时esig/DSS版本为5.4。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56466392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档