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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Koblyakov.slava  
#1 Оставлено : 26 октября 2020 г. 16:45:03(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Доброго дня.

Прошу помочь с вопросом лецензирования используемого фреймворка jcp-2.0.41664-A
В нашей реализации программного продукта(сервиса) задействована библиотека из этого фреймворка.
Для удобства, мы планировали поместить наш сервис в docker image.
Вопрос в том, как активировать купленную клиентскую лицензию в docker образе, есть ли примеры по установки лицензии для подобного способа?
Так же хочу уточнить, что мы хотим избежать полной установки фреймворка на хост, для оптимизции обьёма самого образа.

Offline Евгений Афанасьев  
#2 Оставлено : 27 октября 2020 г. 12:27:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
Здравствуйте.
Попробуйте так (в папке дистрибутива):
Цитата:

>JDK10+/bin/java -cp * ru.CryptoPro.JCP.tools.License -serial CF20X-XXXXX-XXXXX-XXXXX-XXXXX -store

JDK10+ - java для jcp и сервиса.
Лицензия будет сохранена и доступна под управлением пользователя, под которым запущена команда.

Отредактировано пользователем 28 октября 2020 г. 15:24:40(UTC)  | Причина: Не указана

Offline Koblyakov.slava  
#3 Оставлено : 28 октября 2020 г. 14:59:19(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Попробуйте так (в папке дистрибутива):
Цитата:

>JDK10+/bin/java -cp * ru.CryptoPro.JCP.tools.License -serial -serial CF20X-XXXXX-XXXXX-XXXXX-XXXXX -store

JDK10+ - java для jcp и сервиса.
Лицензия будет сохранена и доступна под управлением пользователя, под которым запущена команда.


Доброго дня, я правильно понимаю, что можно не устанавливать сам фреймворк, а просто расположить его на хосте?
Или нужно проинсталировать jcp?

И если не затруднит, какой командой можно выполнить проверку лицензии в этом случае?


Offline Евгений Афанасьев  
#4 Оставлено : 28 октября 2020 г. 15:24:31(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
Если используется версия А дистрибутива JCP/JCSP, то есть JCP/JCSP для jdk 10+, то необходимые jar-файлы должны быть в составе вашего приложения.
Если требуется ввести лицензию в командной строке, то в папке с распакованным архивом (для этой цели) JCP-A нужно выполнить указанную выше команду. Установка JCP производиться не будет. Проверить лицензию можно с помощью:
Цитата:

JDK10+/bin/java -cp * ru.CryptoPro.JCP.tools.License -serial CF20X-XXXXX-XXXXX-XXXXX-XXXXX

Отредактировано пользователем 28 октября 2020 г. 15:28:38(UTC)  | Причина: Не указана

Offline Koblyakov.slava  
#5 Оставлено : 2 ноября 2020 г. 16:17:34(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Доброго дня.

Хост: Debian 10
java: OpenJdk11
Дистрибутив: jcp-2.0.40132-A



Dockerfile


docker build --no-cache -t jcp-inst --build-arg JCP_VERSION=2.0.40132-A .

Получаю ...
Error: Could not find or load main class ru.CryptoPro.JCP.tools.License
Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.JCP.tools.License
Offline Евгений Афанасьев  
#6 Оставлено : 2 ноября 2020 г. 17:35:50(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
А в момент запуска команды к лицензии в папке распакованного дистрибутива находитесь? java говорит, что не находит файлов, их вполне может не быть в текущей папке.
Offline Koblyakov.slava  
#7 Оставлено : 2 ноября 2020 г. 18:07:41(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Эту ошибку получаю при сборке образа по Dockerfile, который указан под сполером в посте выше.
Код:
Error: Could not find or load main class ru.CryptoPro.JCP.tools.License
Caused by: java.lang.ClassNotFoundException: ru.CryptoPro.JCP.tools.License


В нем устанавливается текущая директория командой
Код:
WORKDIR jcp-$JCP_VERSION



Если просто зайти в директорию с дистрибутивом и выполнить
Код:
vkoblyakov_sudo@debian:/opt/docker/cryptoPro/jcp-2.0.40132-A$ java -cp * ru.CryptoPro.JCP.tools.License -first


Получаю .. другую ошибку ...
Код:
Error: Could not find or load main class ASN1P.jar
Caused by: java.lang.ClassNotFoundException: ASN1P.jar


Сам класс, как я понял находится в JCP.jar
Offline Евгений Афанасьев  
#8 Оставлено : 2 ноября 2020 г. 20:19:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
Автор: Koblyakov.slava Перейти к цитате

/opt/docker/cryptoPro/jcp-2.0.40132-A$ java -cp * ru.CryptoPro.JCP.tools.License -first

Попробуйте так:
Код:

/opt/docker/cryptoPro/jcp-2.0.40132-A$ java -cp .:*: ru.CryptoPro.JCP.tools.License -first


Offline Koblyakov.slava  
#9 Оставлено : 6 ноября 2020 г. 13:15:53(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Доброго дня.

Вы правильно писали, была ошибка в том, что на момент выполнения команды я не находился в нужной папке дистрибутива.
Также поправил синтаксис при выполнении команды.

Сейчас Dockerfile выглядит так:


Ниже представлен листинг выполнения build


Сейчас смущает то, что команда проверки лицензии не выполняется.
Код:

INFO: Created user preferences directory.
java.lang.reflect.InvocationTargetException
java.lang.NoClassDefFoundError: com/objsys/asn1j/runtime/Asn1Type


Возможно это нормальное поведение, так как команду по активации лицензии ещё не выполняли,
так как не знаем, будет ли правильным её ввод на тестовом стенде? Ведь ввод лицензии произойдет в момент создания образа и произойдет это на тестовом стенде,
а сам контейнер будет работать на продуктовом сервере.

Хочется понять, правильность подобных действий по вводу команды на активацию лицензии.
Offline Евгений Афанасьев  
#10 Оставлено : 6 ноября 2020 г. 16:23:51(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
Везде, где запускается java и предполагается обращение к классам в JCP и его модулях, надо передавать -cp * или -cp .:*: находясь в папке с jar
Наверно, там где проверка лицензии и другие подобные операции, class path не задан.

UPD. Да, в Dockerfile в последней строке только JCP.jar указан, а надо все (т.е. *).

Отредактировано пользователем 6 ноября 2020 г. 16:25:20(UTC)  | Причина: Не указана

Offline Koblyakov.slava  
#11 Оставлено : 30 августа 2021 г. 11:35:22(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Доброго дня.

При вводе серийника.

Код:
+ /usr/local/openjdk-15/bin/java -cp .:*: ru.CryptoPro.JCP.tools.License -serial XXXXX-XXXXX-XXXXX-XXXXX-XXXXX -store
Aug 30, 2021 8:07:01 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
License verify:
Type: Server, sign and encrypt
Allowed amount of cores: 2
Serial number: XXXXX-XXXXX-XXXXX-XX
Validity: Permanent
ru.CryptoPro.JCP.tools.LicenseException: Too many CPUs/connections used


Что, в этом случае ru.CryptoPro.JCP.tools.LicenseException: Too many CPUs/connections означает?
Offline Евгений Афанасьев  
#12 Оставлено : 30 августа 2021 г. 11:41:08(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 596 раз в 566 постах
Здравствуйте.
Вероятно, число ядер процессора больше допустимого в лицензии.
Offline Koblyakov.slava  
#13 Оставлено : 30 августа 2021 г. 19:28:43(UTC)
Koblyakov.slava

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

Группы: Участники
Зарегистрирован: 07.07.2020(UTC)
Сообщений: 19

Сказал(а) «Спасибо»: 1 раз
Автор: Евгений Афанасьев Перейти к цитате
Здравствуйте.
Вероятно, число ядер процессора больше допустимого в лицензии.


А как должно выглядить с корректной проверкой? Так?

Код:
$JAVA_HOME/bin/java -cp .:*: ru.CryptoPro.JCP.tools.License -serial XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
License verify:
Type: Server, sign and encrypt
Allowed amount of cores: 2
Serial number: XXXXX-XXXXX-XXXXX-XX
Validity: Permanent
Valid license.


Offline Евгений Афанасьев  
#14 Оставлено : 30 августа 2021 г. 20:21:19(UTC)
Евгений Афанасьев

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

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

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