Как использовать OnlineTSPSource с библиотекой esig / dss? - PullRequest
0 голосов
/ 05 июня 2019

Я пытаюсь использовать права доступа к метке времени (rfc3161) с библиотекой Службы цифровой подписи *. Однако следующий фрагмент (из их тестовых случаев и аналогичный приведенному в их Поваренной книге ):

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 (некоторые из них перечислены здесь ). Конечно, там что-то не так, но, как новичок, я не могу понять, что не так (какой метод должен быть там).

Если бы кто-нибудь мог направить меня в правильном направлении, чтобы заставить работать фрагмент (или даже быть достаточно любезным, чтобы прокомментировать надежное руководство по запуску cades / xades / pades с помощью bouncycastle Java), я был бы очень благодарен.

1 Ответ

0 голосов
/ 07 июня 2019

Как отмечается в комментариях Мартин Бодевес и Марк Роттвил , с версией Apache Commons-IO в пути к классам что-то не так.Проект настроен с использованием Apache Maven, и в нем была объявлена ​​старая версия Commons-IO.В этом случае этого было достаточно, чтобы удалить это объявление, чтобы Maven мог загрузить соответствующую версию, которая была объявлена ​​как зависимость esig / DSS.

Версия esig / DSS в то время была 5.4.

...