Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Invalid length of license serial number при регистрации JCSP провайдера
Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 3,997 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 712 раз в 673 постах
|
Здравствуйте. У JCSP имеется лицензия, она требуется, если ОС - серверная. Предположу, что при создании провайдера происходит попытка проверить текущую лицензию, при этом ее нет или прочесть ее не удается из Java Preferences, это действие завершается ошибкой. Ошибка выводится, если не ошибаюсь, на уровне логирования FINE. ОС - серверная, для Java CSP вводили лицензию? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Linux, Solaris etc.
»
Invalid length of license serial number при регистрации JCSP провайдера
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close