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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Анатолий Широков  
#1 Оставлено : 29 января 2025 г. 18:34:41(UTC)
Анатолий Широков

Статус: Участник

Группы: Участники
Зарегистрирован: 22.01.2019(UTC)
Сообщений: 11
Мужчина
Российская Федерация
Откуда: Санкт-Петербург

Сказал «Спасибо»: 2 раз
Добрый день!

Astra Linux из образа ubi18-openjdk170:1.8.1uu1-mg15.1.0
КриптоПро Java CSP 5.0.45549-A (50/13000/java-csp-5.0.45549-A-56fe5758)
openjdk 17.0.11 2024-04-16
OpenJDK Runtime Environment (build 17.0.11+9-Astra-1deb12u1b1)
OpenJDK 64-Bit Server VM (build 17.0.11+9-Astra-1deb12u1b1, mixed mode, sharing)

При регистрации JCSP криптопровайдера в java приложении происходит ошибка:
Цитата:

2025-01-29T14:54:15.139Z DEBUG 1 --- [crypto-service] [ main] ru.CryptoPro.JCSP.JCSPLogger : THROW

java.io.IOException: java.lang.IllegalArgumentException: Invalid length of license serial number
at ru.CryptoPro.JCP.tools.AbstractLicense.<init>(Unknown Source) ~[JCP-5.0.45549-A.jar!/:na]
at ru.CryptoPro.JCP.tools.License.<init>(Unknown Source) ~[JCP-5.0.45549-A.jar!/:na]
at ru.CryptoPro.JCSP.JCSPLicense.<init>(Unknown Source) ~[JCSP-5.0.45549-A.jar!/:na]
at ru.CryptoPro.JCSP.JCSP.b(Unknown Source) ~[JCSP-5.0.45549-A.jar!/:na]
at ru.CryptoPro.JCSP.JCSP.<init>(Unknown Source) ~[JCSP-5.0.45549-A.jar!/:na]
at ru.rlisystems.crypto.provider.jcp.JCPCryptoProvider.register(JCPCryptoProvider.java:350) ~[!/:1.0.0]
at ru.rlisystems.crypto.provider.CryptoProviderService.register(CryptoProviderService.java:36) ~[!/:1.0.0]
at ru.rlisystems.crypto.provider.CryptoProviderService.<init>(CryptoProviderService.java:21) ~[!/:1.0.0]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) ~[na:na]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:209) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:145) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:318) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:309) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1381) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1218) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:312) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1573) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1519) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1381) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1218) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:307) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030) ~[spring-beans-6.2.2.jar!/:6.2.2]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987) ~[spring-context-6.2.2.jar!/:6.2.2]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627) ~[spring-context-6.2.2.jar!/:6.2.2]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.4.2.jar!/:3.4.2]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-3.4.2.jar!/:3.4.2]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) ~[spring-boot-3.4.2.jar!/:3.4.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:318) ~[spring-boot-3.4.2.jar!/:3.4.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1361) ~[spring-boot-3.4.2.jar!/:3.4.2]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1350) ~[spring-boot-3.4.2.jar!/:3.4.2]
at ru.rlisystems.crypto.CryptoApplication.main(CryptoApplication.java:34) ~[!/:1.0.0]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:102) ~[crypto-agent-1.0.0.jar:1.0.0]
at org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64) ~[crypto-agent-1.0.0.jar:1.0.0]
at org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40) ~[crypto-agent-1.0.0.jar:1.0.0]
Caused by: java.lang.IllegalArgumentException: Invalid length of license serial number
at ru.CryptoPro.JCP.tools.AbstractLicense.delSeparators(Unknown Source) ~[JCP-5.0.45549-A.jar!/:na]
at ru.CryptoPro.JCP.tools.AbstractLicense.setProductID(Unknown Source) ~[JCP-5.0.45549-A.jar!/:na]
... 59 common frames omitted

Ошибка возникает внутри конструктора JCSP при выполнении следующего кода:
Цитата:


if (Security.getProvider(JCSP.PROVIDER_NAME) == null) {
Security.addProvider(new JCSP());
}


При этом до старта java приложения регистрируется серверная лицензия:
Цитата:

#cpconfig -license -set XXXX
#cpconfig -license -view
License validity:
XXXX
license - permanent
License type: Server.


На работу приложения это не влияет, приложение поднимается и работает, но как сделать, чтобы эта ошибка вообще не появлялась?

Заранее спасибо!

Отредактировано пользователем 29 января 2025 г. 18:57:41(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 30 января 2025 г. 12:18:16(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 712 раз в 673 постах
Здравствуйте.
У JCSP имеется лицензия, она требуется, если ОС - серверная.
Предположу, что при создании провайдера происходит попытка проверить текущую лицензию, при этом ее нет или прочесть ее не удается из Java Preferences, это действие завершается ошибкой.
Ошибка выводится, если не ошибаюсь, на уровне логирования FINE.
ОС - серверная, для Java CSP вводили лицензию?
Offline Анатолий Широков  
#3 Оставлено : 30 января 2025 г. 12:37:36(UTC)
Анатолий Широков

Статус: Участник

Группы: Участники
Зарегистрирован: 22.01.2019(UTC)
Сообщений: 11
Мужчина
Российская Федерация
Откуда: Санкт-Петербург

Сказал «Спасибо»: 2 раз
Уровень логирования стоит debug:
Цитата:

logging:
level:
root: info
'[ru.CryptoPro.JCP.tools.JCPLogger]': debug
'[ru.CryptoPro.JCSP.JCSPLogger]': debug


Я сейчас ввожу серверную лиценцию CSP в консоли до старта java:
Цитата:

#cpconfig -license -set XXXX
#cpconfig -license -view
License validity:
XXXX
license - permanent
License type: Server.


Сам сервис будет крутиться в контейнере (POD в k8s).

В этом случае какую лицензию надо использовать?

В запущенном контейнере Astra Linux получил такую информацию:
Цитата:

#ru.CryptoPro.JCP.tools.License -required
OS type: Client OS
Required license: the license for usage on one workstation
#ru.CryptoPro.JCSP.JCSPLicense -required
OS type: Client OS
License for Java CSP: License for Java CSP not needed


В итоге, если я буду использовать только Java CSP (JCSP), то мне следует купить только Крипто Про Java CSP на один сервер или еще надо покупать лицензию на CSP, JCP для использовании в Java сервисе, запущенном в контейнере?

Отредактировано пользователем 30 января 2025 г. 16:53:13(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.