如何使用带有esig/dss库的在线TSP软件



>我正在尝试将在线时间戳颁发机构(rfc3161(与数字签名服务Java库一起使用。但是,以下代码片段(来自他们的测试用例,类似于他们的食谱中的代码片段(:

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 的充气城堡评论关于 cades/xades/pades 的可靠启动指南(,我将不胜感激。

正如Marteen Bodewes和Mark Rotteveel的评论中所述,类路径中的Apache Commons-IO版本存在问题。该项目是使用Apache Maven设置的,并且有一个旧的Commons-IO版本声明为依赖项。在这种情况下,删除该声明就足够了,因此Maven可以下载声明为esig/DSS依赖项的相应版本。

当时的esig/DSS版本是5.4。

相关内容

  • 没有找到相关文章

最新更新