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

Уведомление

Icon
Error

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

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

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

Было приобретено ДВЕ лицензии на JCP для применения с приложениями на JDK 17.
Условия для установки:
1) сервер Linux RedOS;
2) консоль, нет GUI;
3) различия по серверам:
а) на одном сервере необходимо установить в действующем JVM (для собираемого CI/CD приложения и прогона тестов);
б) для работы собранного (а) приложения: в приложение интегрированы библиотеки JCP;
4) скачан дистрибутив jcp-2.0.41940-A;
5) пользователь, под которым работает сервис, использующий JCP, ограниченный, системный: создаётся с опцией --system. Т.е. авторизоваться под этим пользователем нельзя.

Появилось два вопроса:
1) каким образом устанавливается версия для JDK 17? С JDK 1.8 было понятно: JCP устанавливался в JVM:
./setup_console.sh <путь_к_JRE>
В документе "./Doc/JCP/ЖТЯИ.00091-04 91 01. Инструкция по использованию.pdf" в дистрибутиве jcp-2.0.41940-A (для JVM 10+) так же указывается
./setup_console.sh <путь_к_JRE>
либо
java -classpath JCPinst.jar ru.CryptoPro.Install.VariantTwo
Но в скачанном дистрибутиве jcp-2.0.41940-A (для JVM 10+) нет ни setup_console.sh, ни JCPinst.jar.

2) каким образом регистрируется лицензия? Особенно при условии установки (5). Ведь лицензия должна быть применена под тем пользователем, под которым работает сервис.

3) я попробовал ввести лицензию, запустив консоль через SSH, но при вводе получил "Превышено допустимое число процессоров/соединений". Это сервер сборки (CI/CD), где JCP нужен для прогона тестов собираемого приложения (это первая лицензия, вторая - на сервер, где это собранное приложение уже будет работать). Да, приобреталась лицензия на 2 ядра, но с ранее приобретённой версией, которая была применена на JVM 1.8 - таких проблем не возникало. Теперь весь сервер должен соответствовать лицензии по ядрам, а не сам JCP ограничивает себя по ядрам в соответствии с лицензией?
Offline Санчир Момолдаев  
#2 Оставлено : 16 октября 2024 г. 14:13:50(UTC)
Санчир Момолдаев

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

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

Сказал(а) «Спасибо»: 101 раз
Поблагодарили: 285 раз в 265 постах
Добрый день.

1) устанавливать не нужно. достаточно передать в classpath и добавить провайдеры в самом начале через Security.addProvider, предварительно убедившись что они не были добавлены ранее
https://github.com/msham.../ExampleApplication.java

2) в jvm11+ у каждого пользователя в userPrefs (в home directory)
/bin/false в качестве шелла, а хоум директори укажите все же.

3) укажите опцию jvm
-XX:ActiveProcessorCount=4
так нужно указывать везде. при сборке, при тестах и т.п.
Техническую поддержку оказываем тут
Наша база знаний
Offline Neandertalets  
#3 Оставлено : 18 октября 2024 г. 11:29:35(UTC)
Neandertalets

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

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

Автор: Санчир Момолдаев Перейти к цитате
1) устанавливать не нужно. достаточно передать в classpath и добавить провайдеры в самом начале через Security.addProvider, предварительно убедившись что они не были добавлены ранее
https://github.com/msham.../ExampleApplication.java

Разработчик уже всё сделал. Вопрос в том, как применить две лицензии для разных серверов:
1) на сервере, где будет запускаться приложение, работающее с JCP, при условии, что пользователь, под которым оно запускается - системный: под ним нельзя ни локально, ни удалённо авторизоваться / подключиться;
2) на сервере TeamCity, чтобы при сборке проходили Unit-тесты, требующие JCP: здесь так же TeamCity и агенты сборки работают под системным пользователем.

Автор: Санчир Момолдаев Перейти к цитате
2) в jvm11+ у каждого пользователя в userPrefs (в home directory)
/bin/false в качестве шелла, а хоум директори укажите все же.

Не совсем понял... Для системных пользователей указывается домашний каталог (там же, где находится работающее под данным пользователем приложение), каталог ~/.java/.userPrefs и все вложенные - есть. Но они создались при запуске нашего приложения и/или ТимСити, а как мне ввести лицензию? Особенно с условием (3).

Автор: Санчир Момолдаев Перейти к цитате
3) укажите опцию jvm
-XX:ActiveProcessorCount=4
так нужно указывать везде. при сборке, при тестах и т.п.

Для приложения понятно: добавить в строку запуска. А для ввода лицензии? Добавляю этот параметр в ControlPane.sh в строку
"$JAVACMD" -cp .:*: ru.CryptoPro.JCP.ControlPane.MainControlPane -XX:ActiveProcessorCount=2
и получаю такое окно настроек:
UserPostedImage
Изменение значения параметра или какие-то манипуляции с окном настроек - ничего не помогает. Используется, в данном случае, AxiomJDK 17, пробовал на 11.
Offline Neandertalets  
#4 Оставлено : 18 октября 2024 г. 18:39:35(UTC)
Neandertalets

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

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

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