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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
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,963
Российская Федерация
Откуда: Крипто-Про

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

>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,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Если используется версия А дистрибутива 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,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
А в момент запуска команды к лицензии в папке распакованного дистрибутива находитесь? 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,963
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 704 раз в 665 постах
Автор: 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,963
Российская Федерация
Откуда: Крипто-Про

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

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

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

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