import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpi; import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiImpl; import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpi; import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiImpl; import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpi; import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiImpl;
import com. truelicense. core. model. SignaturePublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model. ПодписьPublicKeyPairSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpi;
import com. truelicense. core. model.SpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiSpiОписание проектаПример кода для генерации и проверки `License` (серверных лицензий) в проекте на основе Spring с использованием `TrueLicense`#### Технические зависимости:
* `Spring Boot`: архитектура проекта
* `TrueLicense`: простой фреймворк на основе `Java` для генерации и проверки серверных лицензий
#### Требования к окружению:
* `JDK8+`
#### Описание двух подпроектов: ####
- `ServerDemo`: пример кода для разработчиков по генерации `License` для клиентов
- `ClientDemo`: пример бизнес-проекта, который требуется развернуть для клиентов
#### Подпроект `ServerDemo`: ####
Выпускает два RESTful-интерфейса:
(1) Получение информации о сервере:
Адрес запроса: `http://127.0.0.1:7000/license/getServerInfos`

(2) Генерация лицензии:
Адрес запроса: `http://127.0.0.1:7000/license/generateLicense`
При запросе необходимо добавить заголовок **Content-Type** со значением **application/json;charset=UTF-8**. Параметры запроса:
```json
{
"subject": "license_demo",
"privateAlias": "privateKey",
"keyPass": "private_password1234",
"storePass": "public_password1234",
"licensePath": "C:/Users/zifangsky/Desktop/license_demo/license.lic",
"privateKeysStorePath": "C:/Users/zifangsky/Desktop/license_demo/privateKeys.keystore",
"issuedTime": "2018-07-10 00:00:01",
"expiryTime": "2019-12-31 23:59:59",
"consumerType": "User",
"consumerAmount": 1,
"description": "Это описание лицензии",
"licenseCheckModel": {
"ipAddress": ["192.168.245.1", "10.0.5.22"],
"macAddress": ["00-50-56-C0-00-01", "50-7B-9D-F9-18-41"],
"cpuSerial": "BFEBFBFF000406E3",
"mainBoardSerial": "L1HF65E00X9"
}
}
ClientDemo
: ####Устанавливает лицензию при запуске проекта через класс cn/zifangsky/license/LicenseCheckListener.java
. Проверяет доступность лицензии при входе пользователя через класс cn/zifangsky/license/LicenseCheckInterceptor.java
.#### Особое уведомление:Подробные разработочные идеи можно найти в этой статье: https://www.zifangsky.cn/1277.html
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )