Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline GuestIAm  
#1 Оставлено : 9 декабря 2022 г. 14:00:32(UTC)
GuestIAm

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.12.2022(UTC)
Сообщений: 2
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Добрый день, пытаюсь работать с JCP, запуская сервис в докере. Собираю сервис в fat jar. До этого пытался разобраться с проблемой, ссылаясь на эту тему. Возможно я что-то делаю не так, но это не работает у меня. Сама ошибка выглядит следующим образом:

Caused by: ru.CryptoPro.JCP.tools.SelfTesterException: [SelfTester-JCP] :: [ru.CryptoPro.JCP.tools.SelfTester_JCP] :: SelfTester Error: some test crashed twice in a row, usage of class ru.CryptoPro.JCP.tools.SelfTester_JCP is no longer available!
at ru.CryptoPro.JCP.tools.SelfTesterBase.checkInternal(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester_JCP.check(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester_JCP.check(Unknown Source)
at ru.CryptoPro.JCP.Digest.GostDigest.engineDigest(Unknown Source)
at java.base/java.security.MessageDigest.digest(MessageDigest.java:385)
at ru.CryptoPro.JCP.tools.JarChecker.a(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.a(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.c(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.checkJARSign(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.checkURLSign(Unknown Source)
at ru.CryptoPro.JCP.tools.cl_34.run(Unknown Source)
at java.base/java.security.AccessController.doPrivileged(Native Method)
Caused by: ru.CryptoPro.JCP.tools.SelfTesterException: [pool-1-thread-1] :: [ru.CryptoPro.JCP.tools.SelfTester_JCP] :: null
at ru.CryptoPro.JCP.tools.SelfTesterBase.checkClassInternal(Unknown Source)
at ru.CryptoPro.JCP.tools.SelfTester_JCP.checkClass(Unknown Source)
at ru.CryptoPro.JCP.tools.Starter.checkInternal(Unknown Source)
at ru.CryptoPro.JCP.tools.Starter.check(Unknown Source)
at ru.CryptoPro.JCP.Sign.cl_0.<init>(Unknown Source)
at ru.CryptoPro.JCP.Sign.GostElSign.<init>(Unknown Source)
at ru.CryptoPro.JCP.Sign.GostElSign2012_256.<init>(Unknown Source)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.base/java.security.Provider.newInstanceUtil(Provider.java:154)
at java.base/java.security.Provider$Service.newInstance(Provider.java:1894)
Caused by: java.io.IOException: Digest of Jar file content is absent or invalid.Manifest file is corrupted
at ru.CryptoPro.JCP.tools.JarChecker.b(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.c(Unknown Source)
at ru.CryptoPro.JCP.tools.JarChecker.checkJARSign(Unknown Source)

Fat jar собирается так:

jar {
manifest {
attributes(
'Main-Class': 'SomeMainClass'
)
}

from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}

При этом jar файлы импортируется следующим образом:
implementation files('libs/jcp/JCP.jar')

Основной вопрос в том, как это исправить и импортировать jar файлы JCP в fat jar целиком?

Дополнение: Ещё немного разобравшись обнаружил, что у меня отсутствуют некоторые файлы подписи jar-файла JCP в итоговой сборке в папке META-INF, функции include '*.RSA' и т.п. не помогают их добавить туда

Отредактировано пользователем 9 декабря 2022 г. 17:53:11(UTC)  | Причина: Не указана

Online Евгений Афанасьев  
#2 Оставлено : 12 декабря 2022 г. 14:31:11(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,006
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Здравствуйте.
Jar библиотеки JCP, находящиеся на контроле целостности, не должны меняться/распаковываться. Они должны либо попадать внутрь jar приложения, либо находиться и использоваться отдельно, из папки.
Посмотрите https://github.com/afev/fat-jar-with-jcp
thanks 2 пользователей поблагодарили Евгений Афанасьев за этот пост.
Санчир Момолдаев оставлено 12.12.2022(UTC), GuestIAm оставлено 12.12.2022(UTC)
Offline GuestIAm  
#3 Оставлено : 12 декабря 2022 г. 18:31:56(UTC)
GuestIAm

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.12.2022(UTC)
Сообщений: 2
Российская Федерация

Сказал(а) «Спасибо»: 1 раз
Огромное спасибо, это помогло мне собрать нормальный jar-ник и воспользоваться сервисом без ошибок!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.