![]() |
|
![]() |
|
127018, Москва, Улица Образцова, 38
Телефон: +7 (495) 933-1168 Факс: +7 (495) 933-1168 http://www.CryptoPro.ru e-mail: info@CryptoPro.ru |
![]() |
![]() |
|
![]() |
|
![]() |
Описание основной функциональности криптопровайдера КриптоПро JCP Связь с разработчиком. |
В данной документации приводится описание использования класса-загрузчика новой лицензии.
Для установки новой лицензии можно воспользоваться одним из способов описанных в Руководстве администратора.
Для установки новой лицензии с сервера лицензий необходимо выполнить следующие операции:
JCP.tools.LicenseLoader
и реализующий метод getNewLicense()
.setLoaderName(String class_name)
класса JCP.tools.License
.Теперь по истечении лицензии КриптоПро JCP получает из реестра имя класса-установщика, который затем обращается к серверу, который в свою очередь пытается получить новую лицензию от сервера лицензий. Если всё проходит успешно (не превышено максимальное число лицензий, выдаваемых за определенный срок и т.д.), то клиент получает новую лицензию.
Также установка может быть инициирована пользователем посредством вызова
метода setNewLicense()
класса JCP.tools.License
при условии выполнения двух
вышеуказанных действий.
При обработке запроса на новую лицензию от клиента серверу может потребоваться текущая
клиентская лицензия. Ее можно получить, вызвав конструктор класса JCP.tools.License
без параметров:
License current_license = new License();
Дату окончания действия лицензии можно получить, вызвав метод getEndDate()
.
Запись лицензии в реестр осуществляет метод store()
.
Метод verifyLicense()
получает тип лицензии.
По умолчанию КриптоПро JCP использует собственный класс-загрузчик, который не обращается к серверу, а предлагает пользователю ввести лицензию в обычном диалоговом окне.
Ниже приведен пример создания класса-загрузчика и его использования:
Создание класса:
public class TestLicenseLoader extends ru.CryptoPro.JCP.tools.LicenseLoader { public AbstractLicense getNewLicense() throws Exception { License new_lic; ... // transporting all required data to the server // getting the new license ... return new_lic; } }
Установка лицензии "вручную" пользователем:
... // some code String path = "......";// path to the class String class_name = path + "TestLicenseLoader"; ru.CryptoPro.JCP.tools.License.setLoaderName(class_name); try { License dummyLicense = new License(null,null,null); dummyLicense.setNewLicense(); } catch (Exception e) { // catching exception ... } // another code ...
Сигнатуры public-конструкторов, полей и методов класса ru.CryptoPro.JCP.tools.License
:
Конструкторы:
public License() throws IOException;
- конструктор, получающий текущую лицензию из реестра. Выбрасывает
исключение в случае ошибки чтения.public License(String srcUserName,String srcCompanyName,String srcProductID);
-
конструктор по имени пользователя, названию компании и серийному номеру.Типы лицензии:
Поля:
public static final String STR_VALID_LICENSE = "Valid license.";
- строка "лицензия верна".public static final long NOTIFY_TIME = 24 * 60 * 60 * 1000;
- время до истечения срока действия лицензии,
при котором КриптоПро JCP запрашивает ее обновление.public static final int SERIAL_PRODUCTID_NUM = 20;
- размер серийного номера с разделителями.Методы:
public long getAllowedAmount();
- возвращает допустимое число процессоров.public String getCompanyName();
- получает имя компании.public String getDefaultLoaderName();
- получает имя класса-загрузчика,
используемого по умолчанию.public static String getDefaultUserName();
- получает имя пользователя по умолчанию.public long getEndDate();
- возвращает WRONG_LICENSE
, если лицензия неверна,
PERMANENT_LICENSE
, если лицензия неограничена, срок окончания действия в миллисекундах иначе.public String getProductID();
- получает лицензионный номер продукта.public String getUserName();
- получает имя пользователя, на которого зарегистрирована лицензия.public String getVersion();
- получает номер версии лицензии.public boolean isWriteAvailable();
- проверяет наличие необходимых прав для записи лицензии.public void setLoaderName(String name);
- устанавливает имя класса-загрузчика новой лицензии и записывает его в реестр.public void setNewLicense() throws Exception;
- применение описано выше.public void store() throws ConfigurationException;
- осуществляет запись лицензии в реестр. Выбрасывает
исключение в случае ошибки записи.public int verifyLicense();
- проверяет корректность лицензии и возвращает ее тип.